The Software Developer's Code of Ethics

Written by Bob Young, FIFO Networks, 28 August, 2016

-

I will respect the user’s ownership of the device and its resources.

I will not treat the user’s device as if I own it.

I will not extract information from the user’s device without the user’s informed consent.

I will write code as efficiently as my skills allow, to make minimal use of system resources.

Specifically, I will write code that is both effective and frugal in its use of: — bandwidth — processor time, — device storage, and — system memory.

I will always keep the non-technical user in mind, and treat them with respect.

When I write code, I will respect the limited technical knowledge of: — the elderly, who didn’t grow up with the current technologies, — the young, who have not yet had opportunity to learn the current technologies, and — others who, for many reasons, may have little prior experience with using the current technologies.

With the inexperienced user in mind, I will not create software installation prompts with a default opt-in. I will write code that requires the user to: — make an informed decision, and — take a deliberate action to opt-in to initiate installation.

I will not write code to use device resources in ways other than intended and approved by the device owner.

I will not write code to access cameras for any purpose not intended by the device owner.

I will not write code to access microphones for any purpose not intended by the device owner.

I will not copy, transmit, or store the user’s information without the user’s knowledge and consent.

I will not write code to access account information for other accounts without the knowledge and consent of the device owner.

I will not write code that uses bandwidth for any purpose not intended by the device owner.

I will only include code that supports the purposes for which the user installed the software.

I will only include code that gathers user information if the user is informed by a disclosure policy.

I will not include surreptitious code that supports the hidden purposes of my employer, myself, or any third party.

I will not secretly block, inhibit, or obstruct the operation of other apps.

I will not create misleading hyperlinks that cause an unintended action.

I will not create deceptive hyperlinks that take the user to an unintended website.

I will not design web pages that deliberately confuse or mislead the user.

My software will include privacy policies that can be clearly understood in ten sentences or less.

My software will include disclosure policies that can be clearly understood in ten sentences or less.

I will not work for an employer who requires me to violate this code.

I will make my commitment to this code known to prospective employers during my job search.