Free and open-source software

From RationalWiki
Revision as of 13:36, 30 April 2020 by Comrade-yutyo (talk | contribs) (Minor additions.)
Jump to navigation Jump to search
An example of confusing Open Source with Free Software. Why any true free software activist would use an Apple iMac is beyond even St. IGNUcius.
It just works
Technology
Icon Tech Portal.svg
Programming for Dummies

Open source is an idea that a software's code shall be open. It's suggested by Eric S. Raymond in his book "The Cathedral and The Bazaar" as a market strategy that heavily influenced from Richard Stallman's Free SoftwareWikipedia concepts.

Free Software (in the sense of software with freely modifiable and redistributable source code) has existed ever since the invention of the computer, but it was Richard Stallman who gave the entire business legs by writing the GNU Manifesto, the GNU GPL (Gnu's Not Unix General Public License), and some other documents in the mid-eighties. Much of it is focused around one of the worst puns in the history of puns: the concept of "copyleft", which aims to give users several freedoms:

  • Freedom 0: The freedom to run the program for any purpose.
  • Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.
  • Freedom 2: The freedom to redistribute copies so you can help your neighbor.
  • Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.

To ensure the protection of these freedoms, Stallman wrote the GNU General Public License (GPL), which remains one of the more popular software licenses today, even though many people don't really understand it.

The term "open source" was proposed as a revision to "free software"[1] firstly in the book called The Cathedral and the Bazaar in the late 1990s. It was said to be done because of the so-called confusion of the term Free Software, which seemed to mean "free as in free beer" rather than "free as in free speech". It is also being said by the open source advocates that, the Free Software FoundationWikipedia and Stallman in particular tended to be too ideological and less market-friendly for Tim O'Reilly's liking and somewhat inflammatory, but less so than Eric Raymond, who is a libertarian and racist [2].

A lot of software is open source. Almost everyone has at least one Linux device (router, Android phone, NAS, TiVo), a majority of the internet servers run open source software, and a number of popular desktop applications are open source (Firefox, VLC). Popular video game engines such as Unreal Engine or CryEngine have gone open source too.

Similar concepts were later applied other areas such as music, graphics, books, wikis, etc, usually with Creative Commons license.

Disputes

Open Source vs. Free Software

MATE desktop environment, an example of dual-licensed free software (GPL and LGPL)
Audacious music player, an example of BSD-licensed free software [3]

Most people use the term "open source" to describe software that meets the above four freedoms, although the actual creator of those principles (RMS) prefers to specifically use the term "free software", and has been known to walk out of interviews where people use the "wrong" term. In actual fact, save a few edge cases (the first versions of the Apple Public Source license were seen as open source but not free, as was, in a bit of irony, the original version of the GNU Free Documentation License),[citation needed] the two are largely indistinguishable, differing only in the perspective of the origin of the term, and in fact the case can be made that to the extent that the two terms have different definitions, they're interdependent, ie "open source" requires software freedom as defined above, and "free software" requires source code availability and the right to modify or fork. Most people, quite justifiably, consider the two terms functionally interchangeable.

Microsoft

The opinions of open source software by commercial corporations vary considerably. Some do not mind it, others actively support and contribute to it (such as IBM, Google, Red Hat, Novell, and Canonical), and others still declare support for open source on paper but demonstrate repeated inability or unwillingness to understand how the community works (most prominently Oracle and Apple). Microsoft, however, takes the cake.

Microsoft's attitude towards open source would be charitably described as ambivalent. In the 1990s and early 2000s, Microsoft attacked the GPL and Linux with slanderous claims, calling them "potentially viral",[4] "un-American", "communist",[5] and a "cancer"[6]. When it became clear that laughing-off tactics didn't work, Microsoft instead turned to patent trolling, demanding (and sometimes successfully gaining) royalties from its patents allegedly violated by the Linux kernel and its derivative Android — in effect profiting from an OS directly competing with their flagship product, whose code is not in any way theirs.[note 1] With such gestures, it's hard to to treat Microsoft's claims of being friendly to open source seriously. The few open source products they do support (such as Mono, an independent implementation of the .NET programming platform) are mostly based on their standards and play by their rules.

Since 2014, with the rise of current Microsoft CEO Satya Nadella, Microsoft's position seems to have softened somewhat: the rise of cloud technologies, virtualisation[7] and containerisation[8] as well as the ongoing emergence of open web[9] standards such as Web Assembly[10] mean that the operating system is becoming less important to end users and developers alike. With great emphasis from Microsoft to remove the "Windows and Office first" philosophy of the Ballmer era, with significant investment being put into both making Windows compatible with open source software like Kubernetes[11], buying up github.com[12] (which is where the vast majority of open source software resides, terrifyingly), and increasing their involvement in spearheading new open source projects[13].

Software patents and intellectual property theft

A frequent (but only partially true) accusation is that the FOSS world rarely creates anything, and that much of what it copies is done incompletely or incompetently. In countries that recognize software patents, this can create an incredibly complicated situation where certain software (particularly audio and video codecs) are freely available but illegal to use without making specific arrangements with patent holders; needless to say, those arrangements are rarely made, which means a lot of open source users operate in a legal gray area. Even without bringing patent law into it, commercial software developers often resent seeing their hard work being duplicated and given away for free.

This hasn't stopped a lot of developers from creating workalike software, usually in the name of evading licensing restrictions in specific countries or enabling copying of copy-protected media. Such products often represent significant works of reverse-engineering:

  • Andrew Tridgell's Samba [14] is an implementation of Server Message Block filesharing (mostly known these days as Windows filesharing, but the protocol goes back a bit further), and is a critical piece of infrastructure in many FOSS operating system distributions, including most Linux distros and Mac OS X up to 10.6 Snow Leopard. Tridgell wrote it with nought but a packet sniffer. (Tridgell was also indirectly responsible for Linus Torvalds' creation of the Git source code control system, after reverse-engineering the commercial BitKeeper system that the Linux kernel developers were using at the time, thereby infuriating BitKeeper creator Larry McVoy and causing McVoy to revoke the kernel developers' user licenses.)
  • Jon "DVD Jon" Johansen is the best known of three authors of the DeCSS library, created in the early 2000s to bypass DVD copy protection.
  • George "geohot" Hotz[15] was among the pioneers of jailbreaking Apple's iOS platform, and got massively sued by Sony for doing the same thing to the Playstation 3 after Sony removed Linux support from the platform.

Effects on the market and accusations of antitrust violations

A small minority of open source opponents like Catherine Fitzpatrick and Daniel WallaceWikipedia, as well as some corporate personalities like Steve Ballmer, have attacked the concept of open source software as communist and/or an illegitimate price fixing scheme to keep software developers from making money. However, the Free Software Foundation and the Open Source Initiative have generally taken the position that there's nothing stopping developers from charging for their software and code or for physical delivery or support for the software in question.

The deeper question is how this affects the market overall. There have been a few aborted efforts to tax or otherwise regulate open source software to preserve proprietary software's position in the market, but they've generally been laughed out of existence. That hasn't stopped some governmental entities from, presumably at the bidding of groups like the Business Software Association, trying to stigmatize countries switching their IT infrastructure to open source products as not respecting intellectual property rights. FOSS licensing has also been crucial in a number of efforts to break DRM chokeholds (the DeCSS DVD decryption algorithm and jailbreaks for platforms like iOS and the Playstation 3 are current examples) as well as to insure continuity of crucial infrastructure projects.[note 2]

Perhaps ironically, the market generally ignores open source software till it can't. Oracle still prices their flagship database software as if MySQL (which they currently own) doesn't exist. Cisco sold off Linksys to Belkin in part because being able to run software like dd-wrt on home/SOHO network gear rendered Cisco's lower-end pro networking products more or less useless.[note 3] Creative tools like Photoshop seem to take advantage of the somewhat more arcane interfaces of their open source equivalents in order to continue charging customers insanely traditionally high prices for their software; although this usually includes the promise of tech support (as well as providing a convenient blame sink for software snafus), it still prices people out of the market who would otherwise find such software to be an enabling technology. The lack of support for open source software in much mainstream computer press means that people don't realize they have options.

Unicorn's law

If you are a woman in open source, you will eventually give a talk on being a woman in open source.[16]
Unicorns are believed to have evolved from goats, though some claim the opposite actually occurred.

Women are so marginalized in programming that there's an internet law about it called Unicorn's law. So much for equality. And if you know the numbers, the law is necessary. Depending on which survey you look at, there could be as little as 1.5% of open source programmers being women, with 5%, being the highest result. Naturally there are attempts to even out the numbers.[17]

See also

Notes

  1. Well, if you want to be technical, they were forced to release kindly and selflessly donated 20,000 lines of Hyper-V driver code to the Linux kernel after being caught with GPL violation.
  2. The Qt application framework, for example, was created by TrollTech with the assurance that if they ever went under, it would be released under a BSD-type license. After Nokia bought TrollTech, the point was rendered moot by releasing Qt 4.x under the LGPL; current owner Digia has done something similar, keeping control of the commercial side of the brand while releasing it to the community at the Gitorious public repository site. Similarly, OpenOffice.org, under a cloud after Oracle's takeover of Sun, was first forked to create LibreOffice, then donated to the Apache foundation.
  3. Under Belkin's ownership, Linksys has reintroduced Linux-based hardware targeted specifically to the hacker community.

References

Icon fun.svg For those of you in the mood, RationalWiki has a fun article about Free and open-source software.