Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> All money and support to free software is most likely good.

Open source is not the same thing as Free Software. From the website itself, in the history section:

> The conferees believed the pragmatic, business-case grounds that had motivated Netscape to release their code illustrated a valuable way to engage with potential software users and developers, and convince them to create and improve source code by participating in an engaged community. The conferees also believed that it would be useful to have a single label that identified this approach and distinguished it from the philosophically- and politically-focused label "free software." Brainstorming for this new label eventually converged on the term "open source", originally suggested by Christine Peterson.

Open-source is used broadly to define a way of developing software, but it says nothing about the rights it gives users. In practice there are several projects called "open sources" that are not using licenses that empower users, hence the valid distinction with Free Software where the end goal is user freedom.



> Open-source is used broadly to define a way of developing software, but it says nothing about the rights it gives users.

That is totally wrong and a myth spread by people who like to call their products "Open Source" while they aren't. The Open Source Definition is very clear: https://opensource.org/osd

Practically there is no difference between Open Source licenses and Free Software licenses. The difference is merely a philosophical one - whether you emphasis the "freedom" aspect or the "openness of the code" aspect. Bruce Perens just wrote something about it: https://perens.com/blog/2017/09/26/on-usage-of-the-phrase-op...


> The difference is merely a philosophical one

NO. They can be very different practically.

For example, your Android phone/router contains open source software pieces (and very likely have GPLv2 licensed code). You get the source code of those, but you may not be able to change them. So yes, they are open source, but not free software.

Open source means the code is open, and you can do anything with the code (licensing restrictions implied). Free software extends that further to have freedom to run modified code on the same device[0] (See freedom 1 and its explanation: The freedom to study how the program works, and change it so it does your computing as you wish). This is a very important distinction between free software and open source software.

This was one of the primary reasons why GNU GPLv3 was introduced.

So in many occasions, open source != free software.

[0]https://www.gnu.org/philosophy/free-sw.en.html


> Free software extends that further to have freedom to run modified code on the same device[0]

That is not true. You're talking of GPL version 3, but that does not extend to all Free Software licenses and is not included in the Free Software definition.

For example GPLv2 does NOT require devices to allow you to run modified code, having no anti-tivoization clause. Are you saying that GPLv2, which was created by the FSF and is used by such prominent projects as the Linux kernel, is not Free Software?

Stop speaking nonsense.


> Are you saying that GPLv2, which was created by the FSF and is used by such prominent projects as the Linux kernel, is not Free Software?

No. I have quoted that in a comment below. That is, a software can be both open source and free software or open source only based on where the code is run. GNU GPLv3 simply enforces this freedom irrespective of where the code is run. That doesn't mean some other license is non-free.

> Stop speaking nonsense.

We learn from mistakes. And from the mistakes we made, we learn and improve. GNU GPLv2 wasn't a mistake. It was a really good License (still is). But time proved its weakness. And FSF released GPL v3 License that addressed many issues that weren't addressed by GPL v2.

FSF now recommends GNU [LA]GPLv3 for most of the software pieces. So yeah, a binary of a code written in GNU GPLv2 may become non-free (but still open source), but GNU GPLv3 code and binary will always be free software (until time proves otherwise).

Edit: clarify that the binary made with GNU GPLv2 code (not to be confused with the source code itself) may be non-free.


Well, if we are going to talk of mistakes, we can argue that GPL v3 and AGPL in general are in violation of Freedom 0 and that AGPL is definitely discriminating against fields of endeavour (OSI's rule 6).

For libraries in particular, or for the Linux kernel, it's the software developers themselves that are the users. Compare this:

- What GPL v2 says is simply "you can use this source code, but you have to give your changes back when distributing them".

- What GPL v3 says is "if you use this source code, you can't use it on your device unless you follow my rules" and Linus Tolvards thinks the same [1]

- With AGPL this is much worse, because AGPL is effectively an EULA and not just a copyright license, as AGPL redefines what redistribution means and severely restricts usage on people's own servers

In my opinion AGPL should have never been approved as either a Free Software or an Open Source license, being effectively a modern freeware, non-commercial license that escaped the scrutiny of Free Software advocates simply because it appeals to emotions whenever "freedom" gets mentioned, being like when the church asks for funding from the local government, requests which can't be easily refused, since it would position government officials to be against God.

To measure the truthiness of this claim, you only need to witness that AGPL gets used in dual licensing schemes, where the AGPL option is simply offered because it's useless for anything else than for demo purposes and good marketing.

But for the sake of argument, if you think there should be a distinction between users and developers, consider that modifying the software for your needs is simply usage and that this artificial distinction is what got Richard Stallman pissed enough to create the GPL and start the GNU alternatives in the first place.

> a code written in GNU GPLv2 may become non-free

By FSF's own admission, that is not true. Code released under GPLv2 can never be non-free.

In terms of copyright, that code will always be redistributable under GPLv2 (i.e. once released, you can't take it back). In terms of patents, it comes with an implicit grant. Oh you're speaking of binaries installed on devices? But then we are not talking about source code or the project itself, but about actual usage.

And going back to Free Software vs Open Source, you simply can't redefine what Free Software means depending on whims or speculation. And if this is the trend, then the Free Software community is positioning themselves to be against the spirit of Free Software.

[1] https://www.youtube.com/watch?v=PaKIZ7gJlRU


You can change the free parts of Android. That's why everyone and their brother can release Android phones, not just Google, and why F-Droid and Replicant can exist.

However, I think you may be correct that some or perhaps most Android hardware is tivoised to not allow you to install derivative Androids. If so, that's a case of what good is a phone call, Mr Anderson, if you cannot speak.


> You get the source code of those, but you may not be able to change them.

Yes you can. See https://opensource.org/osd-annotated :

> 3. Derived Works

> The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.


>> You get the source code of those, but you may not be able to change them.

> Yes you can. See https://opensource.org/osd-annotated

Well. I have explained about that in the above comment. I'm not saying that you can't modify the source. But open source software don't require the user to be able to run the modified versions on the same device, free software do.

So the same software can be both free software and open source or open source only based on where the code is run.


Where in The Free Software Definition https://www.gnu.org/philosophy/free-sw.en.html does it require the user to be able to run the modified versions on the same device?


> Where in The Free Software Definition https://www.gnu.org/philosophy/free-sw.en.html does it require the user to be able to run the modified versions on the same device?

Quoting from the above link:

Freedom 1 includes the freedom to use your changed version in place of the original. If the program is delivered in a product designed to run someone else's modified versions but refuse to run yours — a practice known as “tivoization” or “lockdown”, or (in its practitioners' perverse terminology) as “secure boot” — freedom 1 becomes an empty pretense rather than a practical reality. These binaries are not free software even if the source code they are compiled from is free.


Yes, you can have non-free binaries, but from that same quote: the source code to build them is still considered free.


They are different. I have open source contributions and I am cool giving away code free (and use others code of course). E.g. open source as Apache license.

I disagree with free software peoples opinions often and don't want much contact with that community (prefer less ideological communities and less my-way-is-the-only-way and if-you-want-something-different-then-me-you-are-stupid communities).


That's the philosophical difference I was talking about.

Doesn't change the fact that all code you release under an Apache license is free software in the sense of the four freedoms as defined by the FSF. Whether you like their ways or not.


That is somewhat debatable I suppose. The freedom (if you want to quote RMS) absolutely includes the so called viral provisions of licenses such as the GPL. RMS is quoted as saying proprietary software should be illegal.

As a software engineer myself, I find that sort of demagoguery a bit tiring, and consider a license with less mandatory stipulations as more "free" (admittedly under a different definition than the FSF) than one that has required stipulations. As a result of this, there are many people like the parent, and myself, who could really care less about Free Software but find open source development as one of the most effective software development methodologies. Is all OSS I release also Free Software? Sure! Can someone relicense something I publish with a MIT/Apache license as proprietary software without releasing the code? Sure! My definition is more free = less restrictions, and more restrictions = less free. By that definition, the GPL is a less free (as in freedom for the users / consumers) than the MIT / Apache / BSD.


There's nothing in the Free Software definition that requires copy-left licensing and RMS, along with the other FSF members have validated most OSI approved licenses as being Free Software, including BSD, MIT, MPL and Apache 2.0.

RMS has said a lot over the years, including that the dual licensing business model (e.g. GPL + proprietary) is a valid business model (i.e. whatever it takes to keep development of the GPL version going). And his opinions don't necessarily reflect the official position of the FSF.


He's also said that proprietary software should be illegal due to it stripping freedoms away from users.


He also said that he downloads websites by sending an order by email [1].

That's still irrelevant to the discussion here, which is about what Free Software is and how it compares with Open Source.

[1] https://stallman.org/stallman-computing.html


> absolutely includes the so called viral provisions of licenses such as the GPL.

No, no it does not and rms has very specifically said that free software doesn't need to be copyleft. They even have a diagram which explicitly includes permissive licenses in the free category:

https://www.gnu.org/philosophy/categories.en.html

Your definition of freedom isn't different than the FSF's. You perhaps just disagree on what is necessary to safeguard that freedom and you disagree that proprietary software is unethical.


Yepp, it's a trade off between the rights of the developer and the rights of the consumer / user, you fundamentally can't have both (simplification). RMS goes all on the latter side, essentially.


I am not sure RMS makes such a distinction. To him all users are potential developers (or programmers more likely).

Frankly he is more concerned with who actually control the computing hardware and software being in use on a daily basis.

Keep in mind that one of the issues that got him on his quest was the loss of the ability to modify a printer driver to message those with a print job in the queue that the printer was out of paper.

It may seem frivolous, but it made life that much nicer at MIT. Because once the printer down the hall was out, any number of people may converge on it to fix it once they got the message. Without it, any number of print jobs may be sitting in wait because nobody had checked if there were still paper ready before adding another job to the queue.


I'd argue that he quite clearly does actually make that distinction, though perhaps with different words. (I'm also under the impression that he elaborates quite a bit on the core concept, though I'm unable to easily find a reference). But, e.g. from the GNU Manifesto, 1985:

> GNU is not in the public domain. Everyone will be permitted to modify and redistribute GNU, but no distributor will be allowed to restrict its further redistribution.

The phrasing is a bit different (it's from a point of view of freedom of distribution), but essentially he's pointing out the copyleft idea; that the code can never go back to a model that doesn't provide the same guarantees.

So, there's the freedom of distribution, versus the freedom of someone to restrict the distribution. Both cannot exist at the same time. He's quite clear that the benefits of freedom of distribution outweigh (any potential) benefits of restriction, so he's happy to deny others that "freedom". It gets phrased in many ways, but right or wrong, that's what it is. In that sense, I agree with the poster I responded to; to the person doing the coding themselves, an MIT license leaves more doors open, and hence feels more free.


Like with most of RMSs terminology, I disagree with the dichotomy of developer vs user.

Freedom 1 and 3 apply specifically to users who are or will become developers. I believe what we actually want to talk about is publisher vs user/consumer instead of developer vs user.

The FSF people really like their ambiguous terminology, unfortunately.


I an honestly not sure RMS would make such a distinction.

It seems more like one that has grown in into being in more recent years, particularly with the rise of mobile and web.


It's an important distinction IMO. Roughly 99% of the GPL is irrelevant to the end user if they don't have all of the knowledge, desire, and time to crack open the code and modify it.


Even if they themselves do not, they have the possibility of finding someone that does.


And that's the remaining 1% :)


"RMS is quoted as saying proprietary software should be illegal."

Yep, this is pretty much what I referred to. It is not just about code being given away, it is about making closed code illegal which is something I disagree with.

I also disagree with less strong but still demagoguery claims about closed code being somehow unethical. Or chest thumping with no data to confirm it about how all open source programmers are the most skilled programmers in the world, how open source is by definition all clean and well done and closed source programmers are all totally incapable. (Tho, people usually stop to drum this one the moment they find first job. Which tends to be closed source.) Or chest thumping about how all open source communities are totally awesome meritocratic places with no bullshit politics going on ever and how all companies are surely political hell holes.

I mean sure, old Microsoft claims about how open source is all amateurs doing bad quality work is equal bullshit, but that does not cancel out sheer ego and overstatements so often coming out of free/open ideologues. RMS totally did the work of 11 people alone, back then, right?

Case in point, overwhelming majority of open source, especially big projects, is written by employed people, which is imo, actually cool. That includes linux and that data is easily googleable. But the free software ideologists will still run about hobbyist magically developing large projects in their spare time (while they are also working overtime in companies they are employed in no less, cause they are passionate and because who would ever add two numbers together).

Another case in point, RMS boasted about there surely being more women in open source, cause it is so much better environment, until data came out and turned out women are more likely to work on close source. (The difference does not say anything wrong nor good about either group imo, just that the claim was confident bullshit based on ego thinking alone. There are enough differences that have nothing to do with how good either environment is.)


Ironically, I see the attitude you describe in the open-source community quite often, specifically the BSD community is quite vocal about being more 'level headed' than the GPL community and more 'mature'.


As someone who has zero contact with anyone BSD and have no idea about their community, I have no idea.

As far as I am concerned, there is no open source community as single entity. There are comunities around concrete projects, some better then others. Anyone pretending to represent whole open source is usually doing it for politics and ego.


>Anyone pretending to represent whole open source is usually doing it for politics and ego.

Please don't judge the whole open source community by ESR.


> less ideological communities and less my-way-is-the-only-way and if-you-want-something-different-then-me-you-are-stupid

You mean like rewriting entire projects, just because they have the wrong open source defined license? Tell me, which operative systems welcome all software that the Open source initiative define as open source, and which operative systems do only allow a very narrow list of licenses that match a specific ideology?


Not sure what you ask? If the license they use is incompatible with projects license, then of course it is ok to rewrite it? And of course it is also ok to rewrite project for arbitrary reasons like that you don't like the maintainer.


Rewriting software just because it do not perfectly match a communities opinion about licenses is the least pragmatic way to go about software. It is the my-way-is-the-only-way approach, rather than working together and work with a mix of licenses and focus on the code.

Diversity in licenses is a sign of cooperation.


What is the alternative, break the license or change your own? If I want to allow my library in closed code, I cant import GPL. Hence, I have to rewrite it. Rewriting Apache into GPL makes little sense, but is little work. You can just import it and slap GPL on top.

You cant just mix licenses, because licenses disallow/allow activities.


Take a operative system like debian. It has a huge number of packages in every combination and mix of open source defined and free software defined license. It does not limit itself to only use code that closed code can use. The community embrace license diversity, and thus has very little "my-way-is-the-only-way". As a practice, if they can avoid writing their own stuff they do so, always look around them and see if someone else has already written what they need. They use the "if-you-want-something-different-then-me-you-might-be-right" attitude to code, happy abandoning anything home brewed.

You can't have both a no-ideological community and "no gpl welcome". Either you welcome everyone and focus on getting code to work, or you exclude based on licenses and reinvent the wheel. The question you need to ask is what is important for you. If the most important thing for the project is the license choice, then be upfront about the ideological choice that such goal is. If the goal is to get working code that will use any software you can legally use, then a more pragmatic approach is more suitable.

I personally don't run operative system which focus more on the license rather than getting things done. My work also don't pay me for license choices, but they do for code that works and create value for the customers. I could put agpl code on the servers and you know what, no one would object.


If you are writing a library, the moment you include GPL, you can't be Apache nor MIT nor BSD anymore. You yourself have to change the license so that your close source users are excluded (or forced to give put code). It is right there in GPL license. Only ideology is related to following copyright law. And maybe also respect toward GPL software creators who don't wish their code to be used.

You can legaly include apache in GPL software.

Following your theory, one would either have to break GPL and risk legal problems or exclude close source users of his work.


If the goal of the library is to be used in closed source, you will be limited to reusing code to only those that has compatible license with the closed source. That is a choice you make that has nothing to do with writing software to fix problems that people have in their lives. In some cases this make a economical sense, where you do not just want to solve problems for customers but where the primary goal is to generate property for which the company can own. For other companies, solving problems for customer is how they get paid and the faster they solve one problem the fast they can go to the next.

But I digress. There is a clear bright line between writing code to solve a problem, and rewriting code because the license don't let you create property in the form of closed code. One is about pragmatic problem solving, and one is about ideology. One allows for code reuse, one is limited to my-way-is-the-only-way.

If you live in an ideology that demand that everything you do must be made into property owned by the company and only secondary solves problem for a customer, you will be slower than a companies which more pragmatically focused on fixing problems for customers. Don't blame others if you are self-imposing such restrictions on yourself.


"If the goal of the library is to be used in closed source, you will be limited to reusing code to only those that has compatible license with the closed source. That is a choice you make that has nothing to do with writing software to fix problems that people have in their lives."

It absolutely does. It fixes problem of people who work on close source or otherwise something incompatible is gpl. You either dont count them as people or as problems and neither makes sense. I used open source inside closed source. So yep, if I am going to five away, I will give to the same pool. Generous people gave me something, so I am giving back.

A library that I can not use does not solve any problem. That is not pragmatic, just something with limited use. Which is fine, if you feel strongly about your work use being restricted to some people only. I don't.

The moment when your logic twists gpl into literally "the only pragmatic license" is the moment when I wonder whether you are even honest in your arguments.


They are different, and that's fine. Personally I lean more towards the BSD/MIT style of licensing than GPL; I feel the former is "more free" from the developer's side because it doesn't tell her what she can't do with her code. The GPL forces the developer's hand (though in a way that benefits society as a whole), whereas BSD says "it's your code, do what you will".

All of that said, the GPL is perhaps one of the most important parts of the modern software ecosystem; without it we wouldn't have Linux, and FOSS as we know it wouldn't exist. The world is a better place because of the GPL.


The BSD/GPL question is independent of the free software / open source term.

Both the OSI and the FSF accept GPL and BSD-style licenses. So both GPL and BSD code is free software and open source software.


Are you sure about that? gnu.org has a huge beef with BSD, they are actively campaigning for any developer considering BSD to use GPL instead[1]. Basically, anything that is not 100% copyleft is considered non-Free by GNU and FSF.

Again, that doesn't bother me; to each their own. I'm not a developer so you might say I have no skin in this issue. However, I stand by my assertion that BSD gives the lone developer more freedom at the expense of social needs, whereas the GPL takes freedom away from the lone developer but puts necessary power in the hands of society as a whole (the so-called "viral" aspect of GPL).

Neither is "right" or "wrong", and I'm happy we have a choice at all.

[1] https://www.gnu.org/licenses/bsd.en.html


> gnu.org has a huge beef with BSD, they are actively campaigning for any developer considering BSD to use GPL instead[1]. Basically, anything that is not 100% copyleft is considered non-Free by GNU and FSF.

Not true. Just look here: https://www.gnu.org/licenses/license-list.en.html

Plenty of BSD-ish licenses that are in the free software categories.

The FSF's and GNU proejct's position is that they prefer GPL over BSD, but nowhere do they say BSDish licensed code is not free software.


That's not a campaign against BSD-style licenses. It's a campaign against the advertising clause that was present in the "old" 4-clause BSD license. (And the page you link to couldn't really be clearer.)

It's also worth pointing out that the "campaign" originated 20 years ago and was more or less successful—Berkeley themselves agreed with the campaign and dropped the advertising clause. FreeBSD stripped the license down further to 2 clauses. Nowadays, the 2- and 3-clause BSD licenses are the most popularly adopted versions for anyone choosing BSD—if you hear anyone talking about the BSD license, they're almost definitely referring to one of these two—and this campaign is the reason why.

So, no, that's not a link to an historical campaign against BSD. If anything, it was a campaign that strengthened BSD by making it a more attractive license choice.

EDIT:

I just reread your comment, and it makes me sad and wonder how people get away with convincing themselves it's okay to outright lie about things or pretend to know more about something than they do.

> Basically, anything that is not 100% copyleft is considered non-Free by GNU and FSF.

This is unequivocally false. Not only is this not the FSF's position (e.g., that you might be able to infer based on what they don't say and trying to read between the lines), but there's a wealth of information that the FSF and GNU have published that directly contradicts this. I get the terrible feeling that you've never actually read any of FSF or GNU's firsthand opinion pieces; that you instead respond to the distorted phantom arguments that appear in message board conversations after RMS and Co's position has been filtered through n retellings in the comments. Worse still, you're helping to propagate this to other people.

Please don't contribute to the problem. Please stop doing this.


From the link I posted (emphasis mine):

There are many variants of simple non-copyleft free software licenses, such as the Expat license, FreeBSD license, X10 license, the X11 license, and the two BSD (Berkeley Software Distribution) licenses.

They outright say BSD is not copyleft, which means it is not Free Software by the FSF definition, though it is Open Source.

Anyway, all I was trying to say is that GPL and BSD are both sensible licenses, the main difference being that the GPL restricts developer freedoms in order to provide user freedoms, while BSD does not restrict either. That doesn't make GPL bad or BSD better, it's simply two different philosophies and I for one am grateful to both. If you are intent on calling me a liar for that, so be it, though you should know that ad hominem attacks are not welcome here.


> They outright say BSD is not copyleft

Do you think this contradicts something I wrote above? Are you intentionally trying to use misdirection here? No one would dispute that BSD is a non-copyleft license. You're using a really underhanded style of argumentation, where you make some statement X that is controversial and untrue, and when pressed about X, defend some obviously true statement Y. This can come off looking like a "win" for you, but only if nobody is paying attention.

> Anyway, all I was trying to say is

This is the written word, so it's easy to see what you said--and it's easy to see if you're attempting to rewrite it, too. Here's what you did say (and consequently, what you should be defending, not whether or not BSD is not a copyleft license):

> they are actively campaigning for any developer considering BSD to use GPL instead[1]. Basically, anything that is not 100% copyleft is considered non-Free by GNU and FSF.

> If you are intent on calling me a liar for that, so be it, though you should know that ad hominem attacks are not welcome here.

I know what's permissable, thanks. And Person B making some claim that Person A lied is not an example of ad hominem, by the way. This form of misdirection is something else that only works if no one is paying attention.

EDIT:

> [Not copyleft] means it is not Free Software by the FSF definition

Sorry, you're not going to be able to get away with saying so many untrue things—especially when they are verifiably[1][2] untrue. It is not the position of the FSF (or GNU or RMS or...) that licenses must be copyleft to be considered free. Stop propagating falsehoods. Please spend 15 minutes reviewing the actual positions of the people you're trying to comment on. Otherwise, what's the point of saying anything at all?

1. https://www.gnu.org/licenses/license-list.en.html#OriginalBS...

2. https://www.gnu.org/licenses/license-list.en.html#ModifiedBS...


Err, this is the myth that keeps spreading mysteriously. There are absolutely massive differences between open source and free software. Why would you want to be open but not free unless you wanted to restrict the use of the code you “opened”.


Not mysteriously at all. There is big money to be made by muddying this water.


So, there _is_ a difference. But it's _not_ true that open source (as defined by OSI) says "nothing" about the rights it gives users. It says something. "free software" says something else/more (which may or may not be a good thing, that's a value judgement). "free software" is indeed an (intentionally) confusing name meant to discredit "open source".


> "free software" is indeed an (intentionally) confusing name meant to discredit "open source".

That's factually wrong. The word "free software" was invented before.


You've got the directions of the arrow of time and cause and effect backwards.

"Free Software" and "Copyleft" came WAY first. "Open Software" came later, and was meant to intentionally and personally discredit RMS, "free software" and "Copyleft".


OK, thanks for the correction.

I still think it's important to note that a) they are NOT "the same" (as some people in the thread are saying), and b) "open source" as defined by OSI does NOT "say nothing about the rights it gives users" (as other people in the thread are saying). Neither are true.


Yes which is why I specifically wrote free software in two of my paragraphs, I should probably have clarified.

I do not necessarily think supporting non-free open source software is good, and hope some of this goes to supporting actual free software.


Perhaps the person you're responding to is referring to Microsofts old business practices that involved trying to segment open source projects with the intent of making them inferior to Microsoft products?

Open source, free software, call it what you want. In either case I don't think it's a good thing if Microsofts (or any other company) is trying to hurt the quality of software that is already available to everyone (with or without permissive licenses).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: