Future business deals; future government regulations; an unforeseen, desperate need for new revenue streams — it may be impossible to predict what seemingly innocent log file will become problematic in the future, but it is essential to consider the ethics of how you handle the logs along the way.
Ethical dilemma No. 2: Whether — and how — to transform users into products
It's a well-worn adage of the startup era: If you're not paying for a service, you're not a customer; you're the product.
On the Internet, "free" services abound. In fact, the question of where the money will come from is often put off, being off putting. We just build the amazingness, keep an eye on the adoption metrics, and figure someone else will take care of the dirty work of keeping the server lights on. Worst case, there are always ads.
Developers need to be upfront about who will support their work and where the money will come from. Any changes should be communicated to users in a clear, timely fashion to avoid shock and blowback. Transforming people into products is an ethical shift not to be taken lightly. Shady ad deals, shady ad networks — we need to be careful how we handle the implicit trust of early adopters.
Ethical dilemma No. 3: How free does content really want to be?
A number of businesses depend on serving up content without paying those who create it. Some turn around and sell ads or even charge for access. These businesses often couldn't survive and couldn't price their material as attractively if they had to shoulder their fair share of the development costs. They develop elaborate rationalizations about "sharing" or "fair use" to cover up an ethically shaky decision.
Developers must ask themselves how their code will support everyone in the food chain, from creators to consumers. Do the people creating the content want their work to be distributed this way? Are they happy to work for exposure or attention alone? Are they given a fair share of the revenue?
Not considering these questions amounts to turning a blind eye to piracy. After all, not all information just "wants to be free."
Ethical dilemma No. 4: How much protection is enough
Some say that everything should be double-encrypted with two different algorithms and locked in a hard disk that is kept in a safe. Alas, the overhead slows the system to a crawl and makes development 10 times more onerous. To make matters worse, if one bit gets flipped or one part of the algorithm is wrong, the data is all lost because the encryption can't be undone.
Others don't want to lift a finger to protect the data. The next team can add special encryption later if it's necessary, the developers might say. Or they might argue that there's nothing sensitive about it. Teams that ignore these responsibilities are usually able to generate plenty of other code and create piles of wonderful features that people crave. Who cares if they're secure?
Sign up for Computerworld eNewsletters.