Ethical issues in open source


One of my students e-mailed me asking for help finding interesting ethical issues in open source. Here's the partial list I sent him:

  • What is the fundamental ethical issue behind open source software? There are zealots in both the open source and closed source camps, but the world isn't as black and white as people paint it. What do _you_ personally feel about the issue of open source? Think about this a great deal. I think it'll give you an aha moment. =) This is something really worth writing about.
  • Think about the difference between open source software and closed source software, and the difference between free software and commercial software. Note that free != open source, and commercial != closed source. Think about what the different combinations mean from the point of view of users, developers, and companies.
  • Businesses would like to be able to hire fresh graduates and put them to work right away without having to train them in the specific software used in the business. Learning how to properly use a toolset takes a lot of time, and these companies argue that this kind of training should be part of students' formal education. In addition, many HR personnel filter resumes based on keyword. Students also sometimes become restless when they're asked to use languages or toolsets not seen in the job ads. As a result, there's strong incentive to teach the quirks of vendor-specific products like Microsoft Visual Studio .NET instead of focusing on general ideas. This is one of the biggest barriers to open source adoption in schools. Should schools cater to their market, or should they also explore alternatives?
  • Large companies complain about the unlicensed distribution and use of commercial software (popularly known as piracy). However, it actually strengthens dominant companies. For example, would we really be so dependent on Microsoft Office if people only used legitimate copies? If enough people chose not to buy Microsoft Office, then alternative office suites could flourish. Unfortunately, the unlicensed distribution and use of software means that other people can assume people run Microsoft Office, leading to a vicious cycle. What do you think about that?
  • Non-trivial software programs have errors. Sometimes these errors are severe, exposing your system to attacks. Some major software vendors practice 'security through obscurity'; security holes are not publicized, and the companies sometimes aggressively go after whistle-blowers who try to point out weaknesses in the software. Because the companies are the only ones with access to the source, they are the only ones who can fix the broken programs, and their resources are limited. On the other hand, open source exposes all source code for potential audit. This means that other organizations and developers can examine the code for security errors, which often results in faster fixes when an exploit is actually discovered. On the other hand, it also means that crackers who want to exploit systems can find holes more easily. What do you think about disclosure versus non-disclosure?
  • Many people in the Philippines are not completely comfortable with English. We are too small a market for multinational companies to develop Tagalog versions, but some volunteers have been working on translating open source software. This has met with mixed reactions. Some people say that localizing software for the Philippines is a waste of time and students should get used to English versions right away; others say that localization is the key to helping more Filipinos get into information technology. What do you think?
  • Closed source software tends to optimize for number of features and ease of use, because that's what draws customers. It makes common things easier. Open source software often comes with a high learning curve but focuses on power and security, making it easier for people to use it to fit their individual needs. Think about the different markets for open source and closed source software, particularly in terms of security. What are the implications of these choices?
  • Open source means there's a lot of code out there that you can base your programming projects on. As a student, where should you draw the line on acceptable use of other people's code?
  • Closed source software often carries a "click-through license" severely limiting your rights and giving no warranty anyway (although this last part is buried in the fine print). Open source software tells you right away that there is no warranty. It's kinda funny the way closed source companies keep criticizing the fact that open source software isn't backed by a company. Look into the usefulness of support contracts for large and small clients. (Hah. Leading question. Sorry. ;) )
  • What do you think about NDAs?

On Technorati: ,