Pular para o conteúdo principal

When "open source" software isn't truly open source

When "open source" software isn't truly open source: "

Richard Stallman may have kick-started the Free Software and open source software community, but the Open Source Initiative was founded in 1998 by Bruce Perens and Eric Raymond to offer an alternative approach to defining and promoting the same software development processes and licenses, and that approach has gotten the lion’s share of public recognition since. Free Software is a term that both promotes Stallman’s ideological goals regarding how software is distributed, thus turning off business-oriented software users who disagree with Stallman’s ideology, and manages to conflate itself with software that simply doesn’t cost anything. Perens and Raymond coined the term “open source software” to refer to software developed under essentially the same conditions as Stallman’s Free Software definition.


Once the term “open source software” was coined, it was also defined. The official Open Source Definition is clear, and explains how software must be licensed to qualify as open source software. The specific points of the Definition address issues related to:



  1. Redistribution

  2. Source Code

  3. Derived Works

  4. Integrity of the Author’s Source Code

  5. No Discrimination Against Persons or Groups

  6. No Discrimination Against Fields of Endeavor

  7. Distribution of License

  8. License Product Specificity

  9. License Restrictions on Other Software

  10. License Technology Neutrality


A summary of the effect of the conditions mandated by that Definition is available in the Wikipedia article about open source software:


Open-source software (OSS) is computer software that is available in source code form for which the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, and improve the software.


Unfortunately, the fact is that many people misuse the term “open source software” when referring to their own software. In the process of looking for a decent dice roller IRC bot in 2010, I came across one called Bones. On the announcement page for it, Bones: Ruby IRC Dicebot, its author said the dicebot is:


Free: Like most IRC bots, Bones is open source and released free of charge.


In subsequent email discussion with its author, it turned out that his definition of “open source” is substantially different from that of the Open Source Initiative, me personally, and the entire open source community — to say nothing of Microsoft, Oracle, tech journalists, and just about everybody else who uses the term:



Question: You said in your page for bones that “Like most IRC bots, Bones is open source and released free of charge.” What open source license are you using for it?


I haven’t released it under any particular open source license. It’s only open source in so far as it isn’t closed source.


In an attempt to clarify the legal standing of the IRC bot, I asked further:



Any chance I could get you to let me do stuff with it under a copyfree license (my preference is the Open Works license, though BSD and MIT/X11 licenses or public domain are great too) so I can hack on yours a bit rather than just having to start over from scratch?


I don’t plan on releasing it under a license, but that shouldn’t stop you from making changes to the code if you like.


Of course, if I have the source in my possession — which is pretty much a given for any Ruby program — I can indeed make changes to it if I like. The point he ignored is that without a license setting out what permissions the copyright holder grants to recipients of the code, these recipients cannot legally share changes with others. This effectively made any interest I had in improving his program dry up and blow away. It also effectively means that when he called it “open source”, he made an error either of ignorance or of deception. When I pointed out to him the legal problems involved, he declined to respond.


There is some argument to be made as to whether a license that conforms to the requirements of the Open Source Definition should be called an “open source” license even if it has not been certified by the OSI itself. Many of us are inclined to regard a license as an open source license if it obviously fits the definition, regardless of certification. By that standard, the Open Works License and (Note: The full name of the WTFPL may not be safe for reading at work, depending on your workplace. Be careful clicking on the link) WTFPL are open source licenses. By the standards of the list of OSI approved licenses, however, they are not — because the OSI requires an extensive review process that lies somewhat outside the range of what many would-be license submitters have the time and resources to pursue.


Let us for argument’s sake accept that merely conforming to the Open Source Definition is sufficient to call a license “open source”, regardless of official approval by the OSI. By contrast with the Bones IRC bot, then, an IRC bot called drollbot (part of the larger droll project) that I wrote from scratch to serve much the same purpose as Bones actually is open source software, released under the terms of the Open Works License.


The simple comparison of Bones with drollbot serves to illustrate the difference between what really is open source software and what only pretends to be. The pretense, in this case, is an example of something many people call “source-available software”, where the source code is available but recipients are granted no clear legal permission to modify, redistribute, and even sell the software if they so desire — requirements of both the Open Source Definition and the Free Software Foundation’s definition of Free Software.


There are many other concerns related to how we classify software and the licenses under which we distribute it, but many of them are secondary to the simple necessity of understanding what is or is not open source software at its most basic level. Whether or not you consider a piece of software to qualify as “open source software” if the license under which it is distributed has not been officially approved by the OSI, one thing is clear. That is the fact that before you go around telling people to download your “open source software”, you should give them assurances of the most basic requirement of open source software as differentiated from software that has merely been written in a language traditionally run by an interpreter rather than compiled to an executable binary:


When you call something “open source software”, you must give all recipients a guarantee that they may modify and redistribute the software without fear of lawsuits for copyright violation. If you do not do that, by way of a license that conforms to the Open Source Definition or by releasing the software into the public domain, what you give them is not open source software. Period.





"

Comentários

Postagens mais visitadas deste blog

Favigen, Favicon Generator

Favigen, Favicon Generator : " Favicons are small icons that help identify websites. They are used as a visual representation of a website both in the web browser and at many online services. The three most prominent locations of favicons are the browser’s address bar, the tabbar and the bookmarks folder. Many webmasters like to create custom favicons to add that custom identifier to their website. Favicons can be created in many image and icon editors, but also online. Favigen is a straightforward favicon generator that can turn an image into a favicon. All that it takes is to pick an image from the local hard drive first, select the dimensions of the favicon and click the submit button to make the service generate the favicon. Favigen supports several image formats, including jpg and png, and it does not seem to have size restrictions either. Available image dimensions range are 16×16, 32×32 and 64×64. The generated favicon is displayed directly on the page. A click on do...

A simple rsync script to back up your home directory

A simple rsync script to back up your home directory : " Backing up important data is obviously something we should all do. Unfortunately, it is not always easy to make it happen. We get lazy; we do not have the additional hardware for a backup server; it takes a long time and a lot of CDs to back up to optical media; we do not trust online backup services; backup schemes are difficult to set up and use — any of dozens of reasons can stand in our way. Still, we know we should be backing up our important data. Modern open source Unix-like operating systems offer a plethora of options for incredibly simple, effective backup schemes, however. If the problem is figuring out how to set one up, a simple rsync solution may be exactly what you need. The rsync utility is used to synchronize files between two systems. It does so by way of incremental copies, only copying from the source to the destination what has not already been copied there, saving time, network bandwidth, and syst...

Google Wave now open to the public: faster, Robots and Gadgets aplenty!

Google Wave now open to the public: faster, Robots and Gadgets aplenty! : " Filed under: Internet , Google If you somehow missed it, Google Wave is now a bonafide Labs project: rather than being an invite-only alpha, it's now a public beta test! If you don't already have an account, just head on over to Wave and use your regular Google login details. If you've not seen any of the Google Wave introductory videos , you should check them out -- they explain the whole thing a lot more succinctly than I ever could. Wave has also been enabled for Google Apps domains -- businesses could convert their internal communication to Waves today! Leading up to this public release there have a lot of changes. It's by no means finished, but Google Wave is now a lot faster . It's also more intuitive -- more useful -- and given the large number of Robots and Gadgets now reaching prime-time readiness, it feels like the mass adoption of Wave is imminent. Also, if you're an ol...