You are on page 1of 9

Ethics in Software Engineering

The process of designing, developing and releasing an application takes time and lots of effort. But, engineers are given a very small window of time as well as very limited resources and budget to complete their project. Because of these constraints and the pressure to develop a quality product tempt developers to perform some unethical and illegal acts.

The top reasons for a software failure are:


Project objects are not fully specified Bad planning and estimating A new technology is required Inadequate management methodology Insufficient staff on the team Poor performance by hardwares and/or softwares

These are the ethical issues that a software company or its employees may face:
Using open-source code Using illegal soft wares Reverse engineering code Addressing a known bug

1. Using open source code


Open source is source code that is readily available to the user. Three kinds of Open source code:
Licensed Source Code Copyrighted or Credited Source Code Public Domain But, some companies does not credit the author and in some cases they even claim the code as their own.

2. Using illegal Soft-wares


Due to money crunches, sometimes people use a pirated copy of software or violate the software license. Sometime it is company and many a times, employee themselves violate the rules. There are some groups, those keep tracks of such violation acts and take action against organizations who (or whose employees) are using unauthorized copies of the soft-ware. Nowadays, companies take proactive approach to prevent piracy and guide employees to how they are supposed to use a product / soft-ware.

3. Reverse Engineering Code


Reverse engineering is the process of decompiling an application in order to reveal the source code, to find out how a particular program works. A company uses reverse engineering and produces its own products, that are compatible with other soft-wares and/or hard-wares.
Sony sued Connectix for reverse engineering the code of Sony Playstation games. Connectix developed an emulator which allows Apple users to play Playstation games on their machines.

4. Addressing Known Bugs


What is a bug?
An error or defect in software or hardware that causes a program to malfunction
In order to meet deadlines, programmers have a tendency to skip on quality assurance testing. These flaws can cause huge inconvenience to the clients.
In 2003, Microsoft accepted that its Operating Systems can be hacked to access a persons machine.

There is no legal action that can be taken for a bugged code, but reputation of a company can be ruined by releasing bad code.

Solutions?
Ethical problems can cause legal ramifications like civil suits and fines as well as business ramifications, such as ruined image. Assign tasks to a compliance officer to make sure that the licenses are being used properly. Perfect quality assurance Fair use of reverse engineering Let your client know about the flaws in the soft-ware or delay the product release Publish ethical guidelines on soft-ware development and use of a soft-ware.

You might also like