ALevel-CS Chapter 10

Ethics and ownership

10.01 Ethics

Ethics

  • Ethics is the field of moral science.
  • Ethics are the moral principles by which any person is guided.
  • Ethics are the rules of conduct recognised in a particular profession or area of human life.

10.02 The computing professional

BCS

英国计算机协会(British Computer Society, 简称BCS)是一个全球专业学术机构,在150多个国家拥有超过68000名会员,在全球授予行业内BCS专业认证250000个。它主要由在英国和国际上从事信息技术和计算机科学的杰出科研人员和专业人士构成,其目标是促进通信技术和计算技术的研究和应用。BCS的前身是“伦敦计算机集团”(LCG),成立于1956年,60年来一直处于计算机发展的最前沿,在教育和培养IT专业人员、计算机科学家、计算机工程师,维护专业资格、认证特许IT专业人员地位以及积极推动全球计算机领域的发展和实践发挥了重要作用。

BCS

the British Computer Society (BCS) has a code of conduct that gives guidance under four headings:

  • Public Interest
  • Professional Competence and Integrity
  • Duty to Relevant Authority
  • Duty to the Profession

IEEE

电气与电子工程师协会(Institute of Electrical and Electronics Engineers),简称IEEE,总部位于美国纽约,是一个国际性的电子技术与信息科学工程师的协会,也是全球最大的非营利性专业技术学会。

原则:

  1. 公众 – 软件工程师应当以公众利益为目标;
  2. 客户和雇主 – 在保持与公众利益一致的原则下,软件工程师应注意满足客户和雇主的最高利益;
  3. 产品 – 软件工程师应当确保他们的产品和相关的改进符合最高的专业标准;
  4. 判断 – 软件工程师应当维护他们职业判断的完整性和独立性;
  5. 管理 – 软件工程的经理和领导人员应赞成和促进对软件开发和维护合乎道德规范的管理;
  6. 专业 – 在与公众利益一致的原则下,软件工程师应当推进其专业的完整性和声誉;
  7. 同行 – 软件工程师对其同行应持平等和互助和支持的态度;
  8. 自我 – 软件工程师应当参与终生职业实践的学习,并促进合乎道德的职业实践方法。

IEEE/ACM

The Association for Computing Machinery (ACM) and the Institute of Electrical and Electronics Engineers (IEEE) are both based in the USA but have a global perspective and global influence. The IEEE-CS/ACM Joint Task Force Software Engineering Code of Ethics defines eight principles defined as follows.

  1. PUBLIC – Software engineers shall act consistently with the public interest.
  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.
  3. PRODUCT – Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
  4. JUDGEMENT – Software engineers shall maintain integrity and independence in their professional judgement.
  5. MANAGEMENT – Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
  6. PROFESSION – Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
  7. COLLEAGUES – Software engineers shall be fair to and supportive of their colleagues.
  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.

Despite the differences in the detail the codes are consistent with regard to the following::

  • the public interest or public good is a key concern
  • the codes present fundamental principles
  • the professional is expected to exercise their own judgement
  • the professional should seek advice if unsure.

Example - Applying ethics to a software engineering scenario

You are employed by a company that develops software. You are working on a software engineering project to be delivered to a client. One day the project manager states that the project is running behind schedule. As a result, the time allocated for testing of the software will be limited to one week rather than the one month that was stated in the project plan.

As a professional you could be guided in your thinking by referring to the eight principles listed above from the IEEE-CS/ACM Joint Task Force Software Engineering Code of Ethics.

Considering them in turn your thinking might be as follows::

  1. You could probably rule out any immediate need to consider public interest.
  2. You would recognise that the end result might be the client being delivered a sub-standard product that would reflect badly on the reputation of your employer.
  3. You would identify the primary cause of concern as being the likely poor quality product likely to be delivered.
  4. You would realise that you needed to make a judgement as to what action, if any, you should take.
  5. You might identify the secondary cause of concern as being one of poor management.
  6. You would have some concern concerning how delivering a product with many errors would cause your profession to be judged badly but this would not be a primary concern.
  7. You would be concerned about your colleagues being put under pressure to deliver in an unrealistically short timescale.
  8. You would recognise that this was not an issue relating to your professional development.

10.03 The public good

The public good

In different parts of the IEEE-CS/ACM Joint Task Force Software Engineering Code of Ethics code there is reference to::

  • the health, safety and welfare of the public
  • the public interest
  • the public good
  • public concern.

BSC code has the statement that the professional should :: ‘have due regard for public health, privacy, security and wellbeing of others and the environment’.

There is a strong argument that the correct application of the code of ethics with respect to specification, development and testing of software could have saved a lot of money.

In contrast there are many areas associated with computer-based systems where there is public concern about the nature of the endeavour or at least about what it has led to. Here are some examples::

powerful commercial companies being able to exert pressure on less powerful companies to ensure that the powerful company’s products are used when alternatives might be more suitable or less costly

  • companies providing systems that do not guarantee security against unauthorised access
  • organisations that try to conceal information about a security breach that has occurred in their systems
  • private data transmitted by individuals to other individuals being stored and made available to security services
  • social media sites allowing abusive or illegal content to be transmitted
  • search engines providing search results with no concern about the quality of the content.

10.04 Ownership and copyright

Key Terms

  • Copyright - a formal recognition of ownership of a created and published work

Copyright 和 copyright

开源软件大多受到知识产权法中著作权法(Copyright,也称版权)的保护。

开源软件虽说开放了源代码,但是用户在使用、修改、再发布时,必须要遵守软件中规定的开源协议(也称开源许可证/开源License),否则可能构成侵权,惹上官司。

“Copyright”指软件的版权和其它一切权利归软件作者所私有,用户只有使用权,没有其它如复制、重新修改发布等权利。而“Copyleft”的特点是仅有版权归原作者所有,其他一切权利可以与任何人共享。

  • 首先,计算机软件作者都可对自己的作品享有著作权“Copyright”。
  • 其次,开源软件作者在拥有著作权的同时,还可以自由决定如何与别人分享自己的作品,这便是“Copyleft”所提倡的理念,也是受开源许协议所保障的权利。
    • 自由软件在承认著作权的基础上,可以通过许可协议,与公众共享作品的其它权利。
    • 1989年,RMS 与一群律师起草了世界上第一个开源软件协议——GNU 通用公共协议证书(GNU General Public License, GNU GPL )。证书的序言体现了“Copyleft”的思想。

Ownership and copyright

  • Copyright is a formal recognition of ownership.
  • If an individual creates and publishes some work that has an element of originality, the individual becomes the owner and can therefore claim copyright.
  • An exception is if the individual is working for an organisation. An organisation can claim copyright for a published work if it is created by one or more individuals that work for the organisation.
  • Copyright cannot apply to an idea and it cannot be claimed on any part of a published work that was previously published by a different individual or organisation.

Copyright can apply to any of :

  • a literary (written) work
  • a musical composition
  • a film
  • a music recording
  • a radio or TV broadcasta work of art
  • a computer program.

Copyright Laws

Laws are needed to protect copyright. Typical copyright laws will include::

  • a requirement for registration recording the date of creation of the work
  • a defined period when copyright will apply
  • a policy to be applied if an individual holding copyright dies
  • an agreed method for indicating the copyright, for example the use of the © symbol.

copyright right

This Code may be published without permission as long as it is not changed in any way and it carries the copyright notice.

If someone has bought a copy of a copyrighted product there is no restriction on copies being made provided that these are solely for the use of the individual.

10.05 Software licensing

Key Terms

  • Open source software - software provided with the source code
  • Free software - software provided with the source code when the user is free to use it as they wish
  • Shareware - software provided free of charge for a limited period but no source code provided
  • Freeware - software provided free of charge with no time limit for its use but no source code provided

Free software, shareware 和 Freeware

免费软件Freeware,自由软件Free software 虽然英语Freeware和Free software看起来有点相似,但两者意思大相径庭。Freeware的free是免费的意思,而Free software的free指自由。

  • 共享软件(Shareware)::最狭隘,只有使用软件部分功能的权利而无修改和再发布的自由。以“先使用后付费”的方式销售的享有版权的软件
  • 免费软件(Freeware):不需要任何费用即可无时间限制地使用软件全部功能。
  • 开源软件(Open source software,OSS)::是一种源代码可以任意获取的计算机软件
  • 自由软件(Free software)::最开放和自由,您可以拥有她的源代码、自行做修改和再发布。
  • 广告软件(Adware):广告软件是一个附带广告的电脑程序,以广告作为盈利来源。
  • 捐赠软件(Donationware)是一种为用户提供完全可用的软件并且提供可选捐赠的授权模式。由于捐赠软件没有像试用软件的限制并且付费是可选的,所以可算作免费软件。

Commercial software

If you buy a computer you become the owner but if you buy soft ware you do not become the owner. The ownership remains with the vendor. As a buyer you have paid for an end-user licence that allows you to use the soft ware.

  • A fee is paid for each individual copy of the software.
  • A company might have the option of buying a site licence which allows a defined number of copies to be running at any one time.
  • Special rates might be available for educational use.

Shareware is commercial software which is made available on a trial basis for a limited time.

Freeware might be a limited version of a full package or possibly an earlier version. The difference is that there is no time limit for the licence.

Whatever license is obtained by the user of the software the source code will not be provided and the license will define limitations on the use of the software.

Examples of when using commercial software can be justified include::

  • The software is available for immediate use and provides the functionality required
  • The software has been created to be used in conjunction with already installed software
  • There will be continuous maintenance and support provided
  • Taking advantage of a shareware offer might allow suggestions to be made as to how the software could be improved
  • Freeware can often offer sufficient functionality to serve a user’s limited needs.

Open or free licensing

The Open Source Initiative makes open source software available. The philosophy here is that the use of open source software will allow collaborative development of software to take place. The software is normally made available free of charge. The source code is provided. The user of the software is free to use it, modify it, copy it or distribute it in accordance with the terms defined by the license.

The Free Software Foundation is so-named because the philosophy is that users should be free to use software in any way they wish. The software is not provided entirely free of charge; there is a small fee to cover distribution costs. The free software is still open source. However, there is a special feature of the license which is called ‘copyleft’. This is the condition that if the software is modified the source code for the modified version must be made available to other users under the same conditions of usage.

Examples of when using open source software can be justified include::

  • The full functionality needed can be provided for at most a nominal cost
  • The software could provide the required functionality with just a few modifications to the source code
  • A consortium of developers are collaborating in producing a new software suite
  • The future development of the software or the continuous provision of the existing software is controlled by the user.

10.06 Artificial intelligence (AI)

Problem solving (问题解决)

One example is the development of a system that can play chess.

A second example is the traditional form of expert system.

The expert system contains more knowledge than is possible for an individual doctor to have. However, if the expert system is given a new situation that is not covered by the data and rules it has been given, it cannot attempt a new or creative approach – unlike a human.

Linguistics (语言学)

Voice recognition and voice synthesis techniques are already developed and in use.

Perception (感知)

These have to be fitted with sensors to enable the robot to take appropriate action depending on the information received from the sensors. This is an example of perception in AI.

Reasoning

draw inferences (reach conclusions based on evidence)

Learning (学习)

This is currently a very active area for the application of AI techniques.

Machine learning is said to take place if a system that has a task to perform is seen to improve its performance as it gains experience.

One example is when the actions of users visiting websites to buy products are stored. The AI system then attempts to identify appropriate products to be advertised when a user returns to the website.

Another example is the program that investigates incoming emails and makes decisions as to whether these can be classified as spam and therefore should be refused entry to the user inbox.

The impact of AI

massive amounts of data

Global organisations that provide the systems underpinning this user activity are collecting and storing massive amounts of data concerning how the Internet is being used. If this data is only being used to enable the organisation to increase its profits, this could be seen as normal business practice. However, if the data is not being securely stored it could get into the wrong hands and be used for criminal or subversive activity.

technological

technological developments lead to employment of more people to manufacture, service and install the new products.

There is a further argument that more technology leads to less manual labour and therefore to increased leisure time.

more technology leads to fewer jobs because machines are doing the work.

developments simply make the rich richer and the poor poorer.

Robots

Robots can be used in environments that would be dangerous for humans to enter.Giving the robot the capability to act autonomously would make it more useful in such environments.

environmental

The environmental impact of robot manufacture and disposal is probably the most significant issue.

expert systems

The use of improved expert systems to aid practising doctors and nurses is clearly a benefit. However, if these systems came to replace doctors and nurses the social consequences are difficult to predict.

辅助阅读