Q.3 Hugo has produced a program (app) for mobile phones.
He needs to decide whether to use an
Open Source licence or to distribute the app as shareware.
(a) Describe what is meant by Open Source licence and shareware.
Open Source
The source code is released with program
Users can edit the source code to suit their needs
Users re-release their version under the same terms
Can be cost-free but may also need payment
Shareware
Users get a free trial of the software which may be limited in features
No access to source code, Program cannot be edited
They have to pay or sign-up after the expiry date
They have to pay OR sign-up to get full functionality
Then they have to pay or sign-up to stop unwanted pop-ups, etc.
(b) Tick (3) one box to indicate the licence Hugo should use. Justify your choice.
For Open Source
For example:
• Hugo does not have to set up ways to take funds
• Others may enhance or improve the program
• Hugo can charge a fee for the App
Or
For Shareware
For example:
• Hugo can charge for the App
• Not giving away the code so people can't copy the code
• Hugo gets the sole recognition for the program
• Possible legal consequences if someone does copy the code
• If users need to sign up, their data can be used for marketing etc.
• Customers have peace of mind that the software hasn’t been maliciously edited or bugs introduced
Q3 Ria manages a team of software developers. The team is creating a mobile application game for a
client.
Ria wants to ensure that her team works to the ACM/IEEE Software Engineering Code of Ethics.
(a) Explain the ways in which Ria and her team can ensure that they follow the Code of Ethics in
relation to the product and their colleagues.
(i) Product
For example:
• Ensure product is of a high standard
• Ensure product meets requirements
• Ensure the product is delivered within time
• Ensure the product is delivered within budget
• Ensure product development is well-documented
• Ensure product is tested thoroughly or free of bugs
(ii) Colleagues
For example:
• Need to be fair or do not show any prejudices
• To be supportive of colleagues
• Work together as a team
• Listen to each other’s ideas
• Assist colleagues in professional development
• Fully credit the work of other members of the team
• Make colleagues aware of expected standard ways of working
(b) Ria’s client wants to sell the game for a profit. The client cannot decide which type of software
licence to use to distribute the game.
Identify two types of licence that Ria could recommend to her client and justify the use of
each licence.
Commercial / proprietary
Software is sold for a fee therefore giving the client the income
Shareware
Free for a trial period / limited features, and then users must pay for it
Malika has started a new job as a trainee software engineer.
(a) Malika’s manager has asked her to work with a senior software engineer for the first week.
Explain the ways in which Malika’s manager has acted ethically.
Answer
• The manager is supporting her professional development
• The manager is working in the best interest of his/her colleague (Malika)
• This will ensure she is introduced to all aspects of the job
• The manager is offering appropriate support
(b) Malika researched the company and the programming languages used by the company
before she started the job.
Explain the ways in which Malika has acted ethically
Answer
• She is acting in her own best interest by taking responsibility for her own professional development
• She is acting in the best interests of her colleagues by ensuring she is up-to-date and does not need
further training
(c) Malika thinks that her colleagues do not like her, so she asks her manager for help.
Describe the actions the manager could take to support Malika in an ethical way.
Answer
• Discuss the problems with her
• Discuss the concerns with her colleagues
• Assign her a mentor who can reassure her
• Team building exercises
Q6 Lara is managing a team of software developers who are writing a computer program.
(a) Benedict is one of the developers. He is struggling to keep up with his workload.
Describe the ways in which Lara can ethically support Benedict.
Answer
• Reduce his workload or Review his work demands
• Redistribute his work
• Arrange a meeting with him to discuss the reasons why he is struggling
(b) Lara has identified that when a specific sequence of actions is performed in the program, a
run-time error causes the program to crash.
She has decided there is not enough time to debug the code because the client needs the
system urgently, and there is a possibility that the client may never perform this sequence of
actions.
Explain the reasons why Lara is not acting ethically.
Answer
• Not acting in best interest of the client. The error could cause significant problems for the client if
encountered
• The product does not meet the highest possible standard
• Not acting in the best interest of the development company if the error occurs, it could lead to
repercussions for the development company
(c) The client wants to copyright the final program so that no one else can copy or amend it.
(i) State the purpose of copyrighting the computer program.
Answer
• Protects the intellectual property
• Allows legal action against anyone else who claims it as their own
• Formally and Legally identify the client as the owner of the software
(ii) Identify two software licences that would be appropriate for the program.
• Commercial
• Shareware
(iii) Identify one software licence that would not be appropriate for the program. Justify your
choice.
• Open Source or Free Software
• Anyone can modify and copy the source code and re-distribute which is not what the client wants
5 Mica has created some software and has copyrighted it. She wants to stop other people from
copying and changing it illegally.
(a) Identify two ways Mica can prevent illegal copies of the software being installed.
Answer
• Encryption
• Assign a unique code so it will not install without this i.e., product key
• Limit the number of times that version of the software can be installed
• Set a time limit within which the software must be installed
(b) Identify one way Mica can distribute the software without the source code.
Answer
Provide an .exe file or Compile the source code i.e Use a compiler
(c) Mica is releasing the software under a commercial licence.
(i) Give two benefits to Mica of using a commercial licence.
Answer
So that she can sell the software for a fee or make money from the software
• A commercial licence prohibits unauthorized further copies being made and distributed
• A commercial licence prohibits any changes to the software
(ii) Name two other types of software licence.
Answer
• Open Source
• Free Software
• Shareware
• Freeware
Q.5 Arnold is a software developer. He has created a computer game for people to download over the
Internet. Arnold is considering releasing the game as a piece of commercial software.
(a) (i) Describe what is meant by a commercial licence.
• Restricted use
• Source code not provided OR source code protected
• Anyone can purchase and download if agree to the terms
• Limited number of installations allowed or Software key needed to install
(ii) Name and describe one other type of licence that Arnold can consider using.
Answer
Either
Open Source
The source code is released with the program
Users can change or edit the source code to enhance the game
Users can re-release the game under the same terms or the game might spread more easily
Or
Shareware
Users get free trial or limited access for set time
Users do not have access to the source code or source code may not be edited
At end of trial period, users may have to pay or register to continue using the game
Can get people ‘hooked’ (addictive) and then charge a fee
Or
Freeware
There is no fee for the game
The game could be copyrighted
Modification, re-distribution or reverse engineering of the game without permission is prohibited
Question
6 Raj has joined a software company as a trainee programmer. He was given the company’s Code
of Conduct document during his induction training. The handbook has a section headed ‘Ethical
Behaviour’.
(a) Describe what is meant by ethics.
Answer
A system of moral principles that guide behaviour, decision making based on philosophical or religious
views
for example, e.g. respectful and considerate behaviour
(b) Raj is assigned to work as a new member of a development team.
In his first week, Raj feels uncomfortable working with one of his colleagues. He is unfamiliar
with the programming language used by the team. Next week, he will be working on the site
of one of the company’s clients with a colleague. Raj is very nervous about working in an
unfamiliar workplace.
Raj has a review with his manager after his first three weeks.
The Code of Conduct document was produced by the Human Resources section. It closely
follows the ACM/IEEE Software Engineering Code of Ethics that uses these eight keys principles:
Public Client and Employer Product Judgement
Management Profession Colleagues Self
There are issues Raj will want to raise with his manager.
• Describe two of these issues.
• Circle the key ACM/IEEE principle this comes under.
• Suggest what action should be taken to demonstrate ethical behaviour.
ACM/IEEE principle (Circle one only)
Public Client and Employer Product Judgement
Management Profession Colleagues Self
Answer
Issue 1
Description
Uncomfortable with one of his colleagues
Client and Employer or Management / Colleagues // Judgement // Self
Possible action
For example: Team building exercises // arranged meeting
Issue 2
Description ................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
ACM/IEEE principle (Circle one only)
Public Client and Employer Product Judgement
Management Profession Colleagues Self
Possible action .........................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
Answer
Unfamiliar with programming language
Self, Client and Employer, Product , Profession , Colleagues
For example: Undergo training
3 Visit to unfamiliar workplace
Client and employer, Management , Judgement , Profession , Colleagues
For example: He should speak to his manager to discuss situation
Question
5 Bobby is a senior programmer at a software house which produces intruder detection software.
He also runs his own software company which develops and sells various computer applications.
The following table shows seven activities which Bobby carries out.
Put a tick (✓) in the appropriate column to identify if the activity is ethical or unethical
Answer