We need the best Technology |
Programming for Dummies |
Open source refers to an idea that a software's code shall be open, and licensing allowing modifying and redistributing it for any purpose. It's very similar to, and essentially a more business-oriented and popularized version of Richard Stallman's idea of free software. A popular term for both is free and open-source software (FOSS) – the vast majority of software licenses that are officially free software[1] or open source[2] are both.[note 1]
Richard Stallman's term "free software" refers to software that respects users' freedoms and community. The freedoms implied by the term include that users are allowed to run the software, study how it works, modify it as they see fit, and freely redistribute copies. Free software is a matter of liberty, not price, and the word libre is sometimes used instead of in addition to the word free. 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"[3] firstly in the book called The Cathedral and the Bazaar in the late 1990s. It was said to be done because the term free software was often misinterpreted as meaning "free as in free beer" rather than "free as in free speech". It was also said by the open source advocates that, the Free Software Foundation and Stallman in particular tended to be too ideological and unfriendly to the market for Tim O'Reilly's liking.[note 2]
Similar concepts were later generalized into the idea of Free Culture and applied to areas such as music, graphics, books, wikis – including Wikipedia and RationalWiki[note 3] – etc., Creative Commons eventually becoming a very popular set of licenses for Free Culture purposes.
A lot of software is open source. Almost everyone has at least one Linux device (router, Android phone, NAS, TiVo, "connected" car), and a majority of internet servers run open source software. A number of popular desktop applications are open source (e.g. Firefox, VLC) – though most people continue to rely on proprietary commercial software. There's also an in-between area; for example, while popular video game engines such as Unreal Engine or CryEngine have made their source code repositories freely available for both hobbyist developers and companies alike, they are by no means "open source" (to be more precise, Source-available software) and are still considered "non-free" by the Free Software Foundation, in relying on proprietary middleware such as the audio and graphics libraries Wwise and Nvidia Gameworks.[note 4]
The term "free software", meaning software that respects users' freedom and community, was coined by Richard Stallman. Software with freely modifiable and redistributable source code had existed ever since the invention of the computer, but it was Stallman who in 1983 formally founded the ideological free software movement in form of the GNU Project, aiming to further such software and its use, in a world where business drive computing in the other direction. 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:
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.
Free software is often clarified as meaning it's "free as in free speech" rather than "free as in free beer". It's also called “libre software”, borrowing the Latin-originated word for “free” as in freedom, to show that it doesn't mean free as in "gratis".
The origin of free software as a formal movement goes back to the foundation of the GNU Project in 1983,[5] but draws on earlier traditions and philosophy found in 1970s academia. Stallman was part of the hacker culture of MIT, a culture of computing and programming enthusiasts in that milieu, with values that supported sharing and so furthering the work of one another. He shared the source code of every utility he made under the GNU project, and made his own movement based on that culture, aiming to further some of its core values.[6] He wrote the GNU Manifesto, the GNU General Public License (GNU GPL), and other key documents.
The four freedoms are usually granted with free software licenses, in turn divided into permissive and copyleft ones. (Public domain works are similar to permissively licensed works – being as permissive as is possible – though it's not possible to place works in the public domain in all jurisdictions.)
Free software licenses like the GNU General Public License (GPL) protect the four freedoms with copyleft, which is a type of copyright license that makes honoring those freedoms obligatory, while otherwise not imposing any restrictions. This is intended to avoid the tragedy of the commons, resulting from people taking free software, and then stripping away the freedoms in proprietary products based on it.[7]
By contrast, permissive free software licenses such as BSD, MIT and MPL include but don't enforce the four freedoms for derivatives of the original source code, which makes it defenseless to being used in proprietary software. They however still make it obligatory to preserve a copyright notice from the original source code, in contrast to public domain works, except for the extra-permissive public-domain-equivalent licenses.
As permissive licensing is weak at protecting software freedom, idealistic free software communities generally prefer copyleft to permissive licensing.[8] However, more libertarian-minded folks, usually identifying with open source rather than free software, tend to have the reverse preference.
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.
Generally the media has referred to free software as open source, or at tines combined both as in the term free and open-source software (FOSS), to avoid confusion with "gratis software". Free software and open source however correspond to two separate movements with different backgrounds and goals,[3] this remaining so even though nearly all of the associated software licenses are the same. While the free software movement remains centered in supporting the four freedoms above all, the open source movement aimed to market the licensing differently and appeal to the world of business, hoping for greater adoption, and has emphasized practical advantages over principles and has arguably compromised those principles in some cases.
The Open Source Initiative (OSI) has largely succeeded in out-competing the GNU Project and Free Software Foundation (FSF) for both mindshare and which terms are popular. Many businesses adopted open source in large part to save on labor costs, such software becoming a large part of the global IT infrastructure. As a consequence, "open source" tends to be a term favored more by corporations, whereas "free software" and associated terminology are associated more with idealists and the original free software movement.
Sometimes people confuse open source for permissive licensing, such as use of the BSD and MIT licenses, which does not require making derivative work free/open as well. At the same time, such people tend to confuse free software with copyleft licensing specifically, such as the GNU GPL which requires distributing derivative works under the same terms. In reality both categories contain both kinds of licenses. This may arise from how the free software movement tends to champion copyleft licensing as this is viewed as safeguarding the four freedoms, while the world of business which the open source movement is close to tends to prefer permissive licensing (allowing the recipient of the software and freedoms to choose not to pay it forwards).
There are some odd licenses accepted by Open Source Initiative (OSI) as "Open Source" that aren't even a such according to their manifest. The most famous one of those is the NOSA (Nasa Open Source Agreement) license[10], that is only usable by NASA for their inner projects, which is simply a trade secret that is labeled with the word "open". Those licenses are counter-examples to the claim that there is no "Open Source" license that isn't also free software. Said claim is a rhetoric mostly used by open source advocates employed by big enterprises to do that job, as Open Source Initiative has donations given by Microsoft and other big companies.[11]
While it limits the number of strategies possible, unlike claims to the contrary people can make profits not only with free software, but with the copyleft licenses that require preserving the four freedoms in derivative works. Companies like Redhat, Ngninx, Apache and Mozilla are examples of successful free software companies.[12] A common strategy is to make support a commercial service for the software and its uses.
As long as the internet exists, there will be conspiracy theorists, racists and other type of people that follow bullshit will spread their ideas and Free Software isn't an exception for that.
Some nonsense that is quite popular among racists and conspiracy theorists, especially within the gray wolf movement, that suggests Free Software can be used for liberating a nation from "Judeo-American International Enterprises and Secret State" rather than the user and programmer. They totally miss the point of what Free Software actually stands for and generally steal free software to make their national rip-offs. Most of those people generally don't know how to code or design, as well as important terminology but have bare knowledge about editing a code and replacing the assets. The most popular examples of nationalist free software are:
There are also several religious projects that are generally ripoffs of existing free software. Examples include:
Open-source religion is actually a thing. That is a name given to religions that have copyleft-like views regarding property and use the 4 freedoms to be spread within the internet, yet identify themselves within the odd market term "open source". There are several religions that use that methodology, such as:
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",[17] "un-American", "communist",[18][19][20] and a "cancer".[21] 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 5] 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 and containerisation[22] as well as the ongoing emergence of open web standards such as Web Assembly[23] 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,[24] buying up github.com[25] (which is where the vast majority of open source software resides), and increasing their involvement in spearheading new open source projects.[26]
Unlike copyright, which applies to a particular work, a software patent applies to some possibly very general use of a piece of mathematical logic. There's so many software patents it's difficult to know which software is impacted by them. Legislation and practices surrounding software patents differ greatly around the world.
A frequent false accusation is that the FOSS world rarely creates anything new, and that much of what it copies is done incompletely or incompetently. Nevertheless, the open source world is filled with many alternatives to both proprietary commercial software and to open source software, these containing a wide range of both more and less original elements.
In countries that recognize software patents, this can create an incredibly complicated situation where certain software (particularly audio and video codecs – including MP3 in earlier years) 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. The Free Software Foundation has long focused on issues surrounding patents,[27] campaigning against them, and also advocating the avoidance of patent-encumbered technology when possible, and further suggested care with software licensing to protect both developers and users from patent troll lawsuits.
Sometimes there are outright efforts to clone a proprietary commercial standard as closely as possible in open source software – with or without patent issues arising – sometimes in order to evade licensing restrictions in specific countries. A related but different issue is that of the circumvention of copy protection, where popular solutions have increasingly been open source. In both cases, such products often represent significant works of reverse-engineering:
A small minority of open source opponents like Catherine Fitzpatrick and Daniel Wallace, as well as some corporate personalities like Steve Ballmer, have attacked the very 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 6]
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 7] Creative tools like Photoshop seem to take advantage of the somewhat more arcane interfaces of their open source equivalents[28] in order to continue charging customers insanely 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 the general public don't realize they have options.
Heated debate, drama, and at times fracturing of communities, surrounding questions of monetization and business strategies connected to free and open source software are a prominent part of both its history and present. The reality for most developers of such software continues to be that they can't make a living working on the projects they'd like to develop as something to be there for the commons. A minority of developers have it as their job, but most do not, having other jobs – possibly for companies that make money from proprietary, closed source products. Sometimes such companies are seen as having a conflict of interest with the free/libre/open communities, trying to monetize their work while closing it down as much as they are legally allowed to by the licensing, or buying their way into shaping work and projects and communities according to an unwanted ulterior agenda. Having such an employer can meet with disapproval or suspicion among some idealists.
Various other approaches to monetization have met with even greater controversy, especially those that involve dividing a piece of software into free vs. proprietary or open vs. closed parts, as in the open-core model. Complementing a more basic software package with a commercial add-on or upgrade offering that isn't open is seen as contrary to the spirit of furthering free/libre/open software. Nevertheless, the "open core" part of such software may be accepted by purists even if they spurn the rest of it, and likely the business along with it.
The GNU Affero General Public License (AGPL) license has, due to the reluctance of many businesses to allow internal use of software with such licensing, become a favorite choice for people who offer software under copyleft terms for all, and separately offer to license it differently to those who pay.
At times big corporations back projects harmoniously, as with the Linux kernel in later years,[29][30] most developers of which are employed by tech corporations that nowadays greatly rely on Linux and try to ensure it remains fit for their future use and as the de-facto industry standard it has become. Other operating system projects, and other kinds of high-profile projects that have become part of modern IT infrastructure worldwide (e.g. compiler toolchains like LLVM, now funded by Apple), also often get significant engagement from big corporate users. For example, Netflix uses the FreeBSD operating system, and Apple used older code from it to make their OS.
When it comes to many smaller or lower-profile softwares, it's however common for them to be used without receiving any support from businesses even if they come to rely on them. The world of business usually applies the simple short-term logic of demand and supply and value extraction, taking what they can and giving back no more than is legally required. By contrast megacorporations funding Linux development apply a more long-term planning that values safety and stability, finding it well-worth the financial cost. In other contexts even large companies with deep pockets usually stick to short-term thinking. They apparently find it worth the gamble to avoid supporting things which money-making products and services depend on, even if the future of these dependencies is uncertain and replacing them would cost much more in labor or other costs.
“”If you are a woman in open source, you will eventually give a talk on being a woman in open source.[31]
|
Women are so marginalized in programming that there's an internet law about it called Unicorn 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.[32]
For those of you in the mood, RationalWiki has a fun article about Open source. |