ALevel-CS Chapter 10 Ethics and ownership

10.01 Ethics

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:

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:

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:

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

10.04 Ownership and copyright

Key Terms

Copyright 和 copyright

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

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

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

Ownership and copyright

Copyright can apply to any of :

Copyright Laws

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

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

Free software, shareware 和 Freeware

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

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.

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:

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:

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.

辅助阅读

从 Copyright 到 Copyleft,聊聊版权与开源协议

软件工程师职业道德规范和实践要求

Code of Ethics -IEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional Practices