Wednesday, July 22, 2015

6.01. Help develop an organizational environment favorable to acting ethically.

We are working with "mooniak" which is already heavy on ethics in regard to Free software concepts. Although our team is not exclusively hardcore believers of free software, we see the value and need for make software engineering an ethical practice. 
Our discussions during the development have been focused discussing the favorable practices for ethics.

Wednesday, June 24, 2015

1.07. Consider issues of physical disabilities, allocation of resources, economic disadvantage and other factors that can diminish access to the benefits of software

This project is all about solving above issues. It help directly and indirectly to address above issues.

Directly:
  • It's free and open. Anyone can use it.
  • It's easy to use. Just executing a command on terminal.
  • It dose not depend on any proprietary software.
  • It's built for Linux, so no proprietary OS requirement.
Indirectly:
  • Use of unicode text means text can be converted to speech. It will help the visually impared people greatly.
  • Through use of unicode Sinhala fonts it will make easier to use the Internet for  people who don't speak only Sinhala.

2.07. Identify, document, and report significant issues of social concern, of which they are aware, in software or related documents, to the employer or the client.



We did few discussions with some individuals who are relevant to the field and with some organizations. Some of these discussions were made by our client. We have noted few points from discussions with individuals. Specially Mr Pushpananda Ekanayake, who is the most successful type designer in Sri Lanka. (Currently more than 90% of Sinhala fonts we use designed by him as proprietary fonts )

  • Font piracy would go high with this type of a tool as it enables taking two font, interpolating them and making new font.
  • Serious font designer who have studied the art will go out of business due to free availability of simple tools 
    And ICTA also mentioned that they need our works to adhere to the currently standardized system.

Tuesday, June 23, 2015

1.01. Accept full responsibility for their own work.

We can take the full responsibility of our work. We have tested the code with many glyphs and we have only use free and open libraries as dependencies. We guarantee that our code works under the correct conditions and we can guarantee about the legal status of our work.
When our code comes under GPL it will remain free and open for everyone forever. So we can take full responsibility of that aspect as well
The only issue is with usage of our work. Since it is open and free anyone can take it and use it in a way we not intended. Or they can modify it and redistribute in a way we have never intended. Those aspects of our project are out of our control. We cannot take the responsibility of our work if it has been used for purpose we have not intended. GPL license will take care of legal aspect of that kind situation. But still I feel that this issue makes some kind of collision with code of ethics.

Monday, June 22, 2015

1.08. Be encouraged to volunteer professional skills to good causes and contribute to public education concerning the discipline.


This project is a completely volantary project. We have a client, but we are not paid in any manner for this effort. Our aim is to build a tool that will simplify the process of creating Sinhala unicode fonts. So we have put our skills in to creating this tool.
All the work regarding this project will be open source. Anyone can take our code from this Github repository. We are currently at the end of phase one. But at the end of project we hope to license our work under GPL 3.0.
This project will help the good cause of creating Sinhala unicode fonts (Most of them will be free under creative commons) and indirectly it will contribute to public education.

Why project "base-sinhala"?



Most of Sinhala publishers, websites and blogs still use the ASCII Sinhala fonts for their articles. And only mostly available unicode correct Sinhala font is "Iscola potha". "Noto Sinhala" came in to play recently. However these two are the only fonts available for Sinhala writers. That is the main reason why publishers do not like to use unicode fonts. If they use unicode fonts their designs gets limited to two fonts.
ASCII Sinhala is only good for viewing and printing. It cannot be used with text to speech engines, cannot be indexed by search engines and cannot be viewed on devices where font installing is not possible. Due to above reasons we need to replace use of ASCII Sinahla with unicode Sinhala fonts. For that we need more unicode Sinhala fonts created.
Major barrier in unicode font creation is lack of technical knowledge. Most designers do not posses the scripting knowledge that needs to compile a unicode font. Our aim here is create a end-to-end build system for Sinhala font creators. The project will consist of two parts.
  1. Creating glyph interpolation system- Designers only draw two master glyph sets. Then those two has to be interpolated to generate glyphs with intermediate weights.
  2. Create font build system- Sinhala font should be compiled with open type rules for character spacing and character replacing. This part of project need language expertise and more research. So it will be completed end of August.

Software Engineering Code Of Ethics And Professional Practice

PREAMBLE


The short version of the code summarizes aspirations at a high level of the abstraction, the clauses that are included in the full version give examples and details of how these aspirations change the way we act as software engineering professionals. Without the aspirations, the details can become legalistic and tedious, without the details, the aspirations can become high sounding but empty, together, the aspirations and the details form a cohesive code.

The Code contains eight Principles related to the behavior of and decisions made by professional software engineers, including practitioners, educators, managers, supervisors and policymakers, as well as trainees and students of the profession.
The Principles identify the ethically responsible relationships in which individuals, groups, and organizations participate and the primary obligations within these relationships.

Principles

PRINCIPLE 1: PUBLIC - Software engineers shall act consistently with the public interest.

PRINCIPLE 2: CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.


PRINCIPLE 3: PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.

PRINCIPLE 4:JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.

PRINCIPLE 5: MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.

PRINCIPLE 6: PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.

PRINCIPLE 7: COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.


PRINCIPLE 8:SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.