of Ethics Online Collection: None
Code of Ethics
General
In this document "IPG" represents "International Programmers Guild".
A professional programmer owes certain duties to the IPG, to the public, to an employer, to other members of the profession, and to themselves and shall act at all times with:
1. fairness and loyalty towards the IPG, associates, employers, employees,
and clients.
2. fidelity to public needs.
3. devotion to high ideals of personal honor and professional integrity.
Duties of a Professional Programmer to the Guild
A Professional programmer shall:
1. acknowledge the IPG as the self governing body that represents the
profession of programming world-wide.
2. adhere to the constitution, bylaws and regulations of the IPG unless
they conflict with the legal statutes of the nation in which the programmer
applies his/her profession.
3. accept programming as a true profession and accept the IPG's mandate
to inform and promote programming as a profession to all directly or indirectly
involved.
4. adhere to the Code of Ethics of the IPG as declared herein.
5. accept the IPG as an authority empowered to provide evaluation and
certification of programmers.
6. adhere to the methods and procedures of professional evaluation of
the IPG.
7. recognize the IPG, it's meetings and electronic communications as a
source:
* of fellowship with other programmers o of sharing professional data
and techniques
* both to seek gainful employment of his/her services and to obtain the
services of other programmers.
8. inform other programmers of the existence, nature, and mandates of
the IPG and of the need and benefits of being a Fellow of the IPG, and
present for membership any programmers expressing interest.
9. assist and encourage others training to become professional programmers.
10. assist and encourage other programmers who are relatively new to the
profession and who are working toward becoming established.
11. inform the Guild Master or governing body of any actions within the
body of the IPG that have created or could create a serious contravention
of professional integrity or cause harm to the IPG or its members.
Duties Concerning the Integrity of Programs and Code of a Programmer
With regards to all programs and programming code a programmer creates, markets, installs, maintains or is otherwise involved with, he/she shall:
1. never create, implement or support any code that is knowingly malicious,
harmful, detrimental or directly contrary to the effect and actions that
the programmer's services are being called upon to effect.
2. in particular, shall never create, implement or support any programs
or sections of code that are of a parasitic, self replicating nature,
of which computer viruses or Trojan horses are vivid and destructive examples.
3. shall not knowingly create code in such a manner as to make it virtually
impossible to understand and maintain in situations in which the client
or employer is allowed to retain source code. In addition, documentation
shall not knowingly be written in a deliberately confusing or erroneous
manner that is contrary to the actual code for which it is written.
4. with regards to IPGware, code and libraries shared within the IPG:
* ensure that all code in the IPGware libraries and source code are not
divulged outside of the IPG membership except with the explicit written
permission of the author.
* acknowledge code derived from the ranks of the IPG in all work done
by the programmer.
5. avoid and refuse to use code that was:
* created by another programmer and not released by the original author
for public use
* released with the stipulation that remuneration to the original author
must be paid and such due remuneration has not been paid.
6. not use code or programming techniques that are knowingly obsolete
unless the party requesting such work is first informed and still requests
such work to be done. If so, no malicious intent must be implied or enacted.
7. not knowingly alter or corrupt data with malicious intent.
Duties of a Professional Programmer to the Public
A Professional programmer shall:
1. abide by the laws and statutes of the country in which the programmer's
services are rendered. If there is a conflict between the statutes and
Code of Ethics, the programmer shall abide by the laws of the country
and report such conflicts to the Guild Master. The Guild Master shall
inform the Council in Geneva of the conflict or conflicts.
2. have high regard for his/her duty to public welfare.
3. (c) endeavour at all time to enhance the public regard for his/her
profession by extending the public knowledge thereof and discouraging
untrue, unfair or exaggerated statements with respect to professional
programming.
4. not give opinions or make statements on professional programming projects
that are inspired or paid for by private interests unless he/she clearly
discloses on whose behalf he is giving the opinions or making the statements.
5. not express publicly, or while he/she is serving as a witness before
a court, commission or other tribunal, opinions on professional programming
matters that are not founded on adequate knowledge and honest conviction
and integrity.
6. make effective provisions in creating or maintaining programs to ensure
health and safety of life and avoid financial loss.
7. act to correct or report any situation which could cause losses, whether
humanly injurious or financially damaging.
8. make effective provisions and strive to meet lawful standards, rules,
or regulations in connection with any work being undertaken by him/her
or under his/her responsibility.
9. give final approval only on code, plans, specifications and reports
actually made by him/her or under his/her personal supervision and direction.
Duties of a Professional Programmer to an Employer
A professional programmer shall:
1. act in professional programming matters for each employer as a faithful
agent or trustee.
2. regard as confidential any information obtained by him/her as to the
business affairs, technical methods or processes of an employer unless
released by the employer in writing or with explicit verbal consent.
3. avoid or disclose any conflict of interest which might influence his/her
actions or judgement.
4. present clearly to his/her employers the consequences to be expected
from any deviations proposed in the work if his/her professional planning
and/or analytical judgement is overruled by non-technical authority in
cases where he/she is responsible for the technical adequacy of professional
programming.
5. have no financial interest, direct or indirect, in any materials, supplies,
equipment, hardware or commercial software used by his/her employer or
in any persons or firms receiving contracts from his/her employer unless
he informs his/her employer in advance of the nature of the interest.
6. not tender on competitive work upon which he/she may be acting as a
professional programmer unless he/she first advises his/her employer.
7. not accept compensation, financial or otherwise, for a particular service,
from more than one person except with the full knowledge of all interested
parties.
Duties of a Professional Programmer in Independent Practice to a Client
A professional programmer in private practice, in addition to all other sections, shall:
1. disclose immediately any interest, direct or indirect, which might
in any way be construed as prejudicial to his/her professional judgement
in rendering service to his client.
2. if said programmer is contracting in his/her own name to perform professional
programming for other than his/her employer, provide the client with a
written statement of the nature of his status as an employee and the attendant
limitations on his services to the client. In addition,the programmer
shall satisfy himself/herself that such work will not conflict with the
programmer's duty to his/her employer.
3. carry out work in accordance with applicable statutes, regulations,
standards, codes, and by-laws.
4. cooperate as necessary in working with such other professionals as
may be engaged in the project.
Duties of a Professional Programmer to Other Professional Programmers
A professional programmer shall:
1. conduct himself towards other professional programmers with courtesy
and good faith and without malicious intent.
2. not accept any engagement to review the work of another professional
programmer for the same employer except:
* with the knowledge of that programmer, or
* except where the connection of that programmer with the work has been
terminated or
* with special knowledge and dispensation obtained by a Guild Master in
situations where serious breach of safety, health, financial loss or integrity
is suspected from the prior actions of a programmer.
3. not maliciously injure the reputation or business of another professional
programmer.
4. not attempt to gain an advantage over other members of his profession
by paying or accepting a commission in securing work relating to professional
programming.
5. not advertise or represent his/her services in a misleading manner
or in a manner injurious to the dignity and integrity of the profession
of programming. The professional programmer shall seek to use the media
of advertising with a level of integrity that will permit establishing
a well merited reputation for personal capability.
6. give proper credit for programming work done by another person.
7. uphold the principle of adequate compensation for programming work.
8. promote opportunity for professional development and advancement of
his/her associates and subordinates and provide opportunities for this
to happen where and when it is reasonable.
9. assist in extending the effectiveness of the profession through the
interchange of programming information and experience except where sharing
of information or data would contravene confidentiality.
10. not copy programs (source code, object code or documentation) unless
it is clear that the author and owners to the rights of the software (including
corporate owners if applicable) would not object to this copying and all
licensing requirements are met.
11. abide by all licensing requirements accompanying the software that
he/she shall use.
Duties of a Professional Programmer to Himself/Herself
A professional programmer shall:
1. maintain the honor and integrity of his/her profession. A professional
programmer shall report without fear of reprisal, unprofessional or dishonest
conduct by any other members of the profession to the IPG and other proper
tribunals.
2. undertake only such work as he/she is competent to perform by virtue
of his/her training and experience except where the programmer has explained
his/her current knowledge with understanding that the needed knowledge
to be competent for the work to be done will be acquired with on-job training
and research.
3. where advisable, retain and cooperate with other professional programmers
or specialists.
4. endeavour to constantly keep updated on the most recent technology
and methods in programming and the hardware on which it must run.
Revised: June 19th, 1991
Revision of the Code of Ethics
The Code of Ethics of the International Programmers Guild may be reviewed for revision annually.
* Fellows, Masters and Guild Masters of the IPG in good standing may
suggest changes in additions to the Code of Ethics.
* They shall expect no obligation or duty for the acceptance of these
suggestions into the Code of Ethics.
* All suggested changes shall be well documented, showing why the changes
are considered by the member as beneficial or necessary.
* All suggested changes must be provided in writing to the Guild Master
who shall review them, then forward them to the Council within one month
of the time that the Council is to meet to deliberate changes.
All revisions, additions, or deletions must be approved by the Council. after careful deliberation of these changes. Once accepted by the Council, the old Code of Ethics shall immediately cease to be of effect and the new Code of Ethics shall be in force and used.
In those countries where special restrictions to the Code of Ethics may be needed due to the statutes, laws, regulations and political climate of the country, the Guild Master or Guild Masters of that country may apply to the Council for special revisions to the Code of Ethics to accommodate the legal existence of the Programmers Guild in that country.
Copyright©1996 IPG. All Rights Reserved.

