Hacker News new | past | comments | ask | show | jobs | submit login

It’s disheartening, especially so in a tech community, to see comments appear so quickly to cast judgement. “Dual licensing is not open source!”

This is same kind of pedantry that haunts every thread like the last. We know that a bowl of cereal isn’t thought of as a soup, nor is a hotdog thought a sandwich. And yet, there’s always someone out there with the time to argue semantics.

The proof is in the pudding! Software developers who have any business sense will tell you that customers presume that open-source is synonymous with source-available. Marketing your software with that presumption isn’t a moral failing — It’s business!

And if anyone out their still has an unfulfilled quandary, I would recommend that they try to monetize their open-source code and experience the illucrative rewards of the MIT and BSD licenses.




Uncontroversially, dual licensing is not open source when neither of the licenses are open source.

More controversially, a "non-commercial" license is not open source. This is clearly the position of the OSI, though that isn't necessarily dispositive. But note that this is not the same thing as a license with terms that happen to incidentally make some commercial use impractical (like the AGPL), which may be what the parent meant by "non-commercial", in which case we just have people talking past each other.


If I publish the source of a core application under AGPL and then use that application in my web service under EULA(Say general T&C) would I myself be in violation of AGPL since I didn't release the source for my web service (or) Would I be able to claim it as dual licensed?

Note: AGPL in the above example is specifically to deter commercialization of the application by competitors while allowing the consumers to read the source and use the application without paying to my web service if they wish so.


If you own the copyright to the application then you do not need a license to use it. The case where you would be violating a license would be if someone else owns the copyright to parts of the application, for example because you accepted code from external contributers under the AGPL, or reused other AGPL code.


Thanks for the clarification.

So, It's best to use permissible license for the open-source version of the application in case of dual-license if we want to take back the contributions to our non open-source version.

I see this is what dual-licensed projects seem to do, I use open-source version of Aseprite[1] under MIT but I paid for the license on their website under EULA.

If anyone has seen a dual-licensed project where the open-source version is under AGPL or similar restrictive license then please mention.

[1] https://github.com/aseprite/aseprite/


> So, It's best to use permissible license for the open-source version of the application in case of dual-license if we want to take back the contributions to our non open-source version.

That's one option; the other is to require that contributors assign you copyright of their contributions (perhaps with compensation) so you can release it in the same manner as your own code.

Narrowly focused on the effectiveness of the dual license scheme itself, permissive licenses "don't work as well" because there is less incentive for anyone to pay you for the other license; typically all they'd be avoiding is the attribution requirements.


> That's one option; the other is to require that contributors assign you copyright of their contributions (perhaps with compensation)

I thought about it before I made my previous comment, Good to know this is a thing.

> permissive licenses "don't work as well" because there is less incentive for anyone to pay you for the other license; typically all they'd be avoiding is the attribution requirements.

As far consumers are concerned, I think it largely depends upon the project; If it's complex to setup and run then I guess people would use the hosted version. I use open-source Aseprite because it's available on AUR, But I did pay for the license on their website which I presume most wouldn't.

Perhaps the real concern with permissible license are the competitors, Who get to use your code to reduce their barrier for entry. Then again, Software code at current times aren't that big of a barrier to entry.

One thing which all these discussions prove to me is that open-source application funding is very complex, Depending upon it for livelihood with just good will of the consumers is very risky as consumers are on average poor and corporations are on average greedy.


As you say, it depends a lot on the project, but you're thinking too narrowly when it comes to types of projects. IME, dual license is most applicable to libraries that might wind up in native applications. With, say, "GPL or pay us for proprietary" a company trying to ship a native app is faced with the choice of not using the library, paying for the library, or releasing their product under the GPL to use the library while avoiding paying for it.


Have you seen such dual-licensed library with GPL? Just curious for a real example.


https://www.sequencejs.com/licenses/ seems to be a real example, with the free option being GPLv3.


Interesting find, I took a cursory look at their GitHub[1] and they seem to accept PR from outside but I didn't find any explicit mention of copyright transfer; Perhaps because there's no separate version of sequence.js for commercial use(Just use case differentiation).

[1] https://github.com/IanLunn/Sequence


> there's no separate version of sequence.js for commercial use

A separate version is "open core", not "dual license" - that's a different business model.

Use case differentiation by means of providing the same thing under different licenses is what dual license (or multi license) means. One license (say, GPL) will be appropriate to some use cases (downstream open source projects) but not for other use cases (downstream proprietary software) and so the latter has to pay for a license other than the GPL.

> I didn't find any explicit mention of copyright transfer

It's possible they know the people who've submitted code outside of github and handled it out of band, or that github has some way I've missed of requiring submissions to assign copyright in a way that wouldn't be visible to us. It's also possible they're being legally reckless and might be subjecting their paying customers to potential (if perhaps unlikely) copyright claims from their submitters. There is nothing about it being the same code under both licenses that would imply they wouldn't need their submitters' blessing in some form to sell their code under the proprietary license, and the more implicit blessing the more likely it'll wind up in court at some point.


Not the GPL, but Qt GUI toolkit is famously LGPL-or-cash


Ah Qt! I knew we often discussed about license of some project. Thanks.

Once again, LGPL being more permissible than AGPL shows IMO the need for having a permissible license for the dual-license.


> the need for having a permissible license for the dual-license.

A more permissive license generally improves adoption. For the same level of adoption, a less permissive license drives more revenue in the dual-license model. Maybe a permissive license is still the way to go (certainly getting adoption is often difficult), but it is not the dual license situation motivating that. Contrast a "give away the software and sell support" business model, where (sufficient) adoption is everything and more restrictions on the license doesn't do anything for the business.

With a maximally permissive license, I hesitate to call it "dual licensing", as it stops being the license your paying customers are actually paying for but rather hosting, support, or warm fuzzies.


> a less permissive license drives more revenue in the dual-license model.

But we've so far encountered just one example for that, Even there we don't know the financial status to claim whether it's indeed more successful (revenue wise when compared to a permissible license).

On the other hand we have numerous successful products (by revenue) with permissible licenses incl. those sighted in the OP.

Then again, We all know the fiasco with Elastic.


> incl. those sighted in the OP.

Which? I didn't see any using a dual license approach in the OP?


OSI muddies the waters by accepting AGPL as an open source license. As argued many times, it is really a EULA, not a proper license in the sense that GPL or BSD or MIT are software licenses.


Since when are EULAs not software licenses?


https://news.ycombinator.com/item?id=31190064 explains it well:

> The GPL is a copyright license. It applies when copyright law would otherwise prevent distributing some program. If I were to violate the GPL, for example by sending someone a compiled version and refusing to provide the source, then there's a clear legal theory by which copyright law could be applied.

> That "one added requirement" in the AGPL turns it into a EULA, because it's an attempt to regulate for which purposes a user may run the program. If I were to run a modified AGPL'd SSH server on my own hardware, the question of whether I'm violating the AGPL depends on whether I'm allowing others to access it remotely. If the AGPL can be violated without copyright infringement, it's clearly in a different legal category than the GPL.


That explanation is, as far as I can tell, completely wrong. I think it's telling that it doesn't actually cite the sections of the AGPL's text that would point out the error.

Copyright law -- at least, in the US -- protects both the right to distribute something and the right to modify it (technically, to "prepare derivative works"; see 17 USC §106 for the exact wording). Both the GPL and the AGPL grant you the right to modify and/or redistribute a covered work, it's just that the conditions that they impose are different.

In particular, section 9 of the AGPL says quite clearly:

> You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work.

And all of the other clauses of the AGPL are carefully phrased as conditions under which you may modify or distribute the work, not conditions under which you may use it.

So if you simply receive a modified copy of an AGPL-licensed program and run it, then no matter who accesses it you aren't in violation of the AGPL, because you have no need to accept it. But if you are the one who does the modification, and the modification doesn't comply with the AGPL (e.g. because the modified software doesn't provide remote users with the source) then you are in violation, and it's because you did something that wasn't permitted by copyright law.


Nope. Sorry but you don’t get to hijack the term “open source”. There’s a reason we have gone to considerable lengths to define it https://opensource.org/osd

Openness is an important principle and it includes not discriminating against fields of endeavour. Think “open society” not “open jar”.

And if you disagree? Well, then I have some free software to sell you!

> Software developers who have any business sense will tell you that customers presume that open-source is synonymous with source-available.

As a software developer with business sense, I call BS on this made-up “fact”. All true scotsmen agree with me.


> Nope. Sorry but you don’t get to hijack the term “open source”

The problem with this viewpoint is that the OSI is not the final arbiter of the English language.

Yes, the OSI has an "official definition" of what constitutes "open source" software, but there is a large group of people in the industry that equate the term "open source" with the concept of the source being available, and nothing more. You can shout "wrong, wrong, wrong!" all you want, but I doubt you are going to change many of those people's minds.

The Free Software Foundation has a similar problem with the term "free software".

The people making the definitions are generally passionate about those definitions (for good reasons, mostly, in my estimation). However, I don't think an approach that starts with "Sorry but you don't get to hijack the term" is going to have a net positive effect. If anything, it will probably have a negative effect.


Um, no. If something can only be used for "non-commercial" uses, then it is not open source software.

The OSI is not the final arbiter of the English language, but this definition is long-settled by the vast majority of people who know about software. For example, many governments (including the US) have definitions of "open source software" written into their laws and regulations, and they all basically agree with the OSI definition.

For example, the US Government's "OMB M-16-21: Federal Source Code Policy" defines "Open Source Software (OSS) as: "Software that can be accessed, used, modified, and shared by anyone. OSS is often distributed under licenses that comply with the definition of “Open Source” provided by the Open Source Initiative (https://opensource.org/osd) and/or that meet the definition of “Free Software” provided by the Free Software Foundation (https://www.gnu.org/philosophy/free-sw.html)." https://obamawhitehouse.archives.gov/sites/default/files/omb...


> but this definition is long-settled by the vast majority of people who know about software

We obviously disagree on this point, although "the vast majority of people who know about software" is a fairly vague qualifier.

The fact that many software projects distribute under licenses that comply with the OSI's definition is not particularly relevant to my argument anyway. I'm not talking about people distributing the software, I'm talking about the large number of people I am aware of who think of "open source" strictly as software where the source is available.

The US government examples aren't particularly relevant either. A small number of people make those decisions, and there are legal ramifications for them in how they define things, so I'm not at all surprised that they define the term that way.

As I said elsewhere in the thread, I was not arguing that people who use "open source" as equivalent to "source-available" are right. Mainly I'm arguing that there is still a very large group that see it that way, and that the meaning of the term is far less settled among people who use it than some would like it to be.


I think government examples are relevant. Governments can haul you into court for fraud, for one thing. And they typically try to define things based on widespread understanding - they provide evidence that something is a common understanding.

It's important to have clear terms for important concepts. If you mean source-available (aka "open box"), use that phrase instead. If you mean open source software, call it open source software. Although I don't think it applies in your case, in my experience many of the people who misuse the term "open source software" (OSS) to identify something that is NOT OSS are expressly trying to deceive. Hopefully we can agree that fraud is not acceptable, and then move on to discuss whether or not this is (intentional) fraud.

The term "open system" was not well-defended years ago. It has a definition, but vendors wanted to redefine it into its opposite. Eventually "every vendor with an open mouth had an open system", making the term "open system" mostly useless. It is reasonable to defend clear definitions of important terms, because otherwise communication breaks down.


> I think government examples are relevant. Governments can haul you into court for fraud, for one thing. And they typically try to define things based on widespread understanding.

I never said that the OSI's definition of "open source" wasn't widely held. My argument is that it isn't the only widely-held definition. And I still don't find the government's use of the OSI definition to be particularly relevant - in terms of there being multiple widely-used definitions. It is just an example of one of them.

> in my experience many of the people who misuse the term "open source software" (OSS) to identify something that is NOT OSS are expressly trying to deceive

It has been my experience that most people who use the term "open source" to refer to source-available software are not trying to deceive anyone (although, I am aware of some examples where that has happened). They just haven't dealt with the legal details, and are mostly unaware that a different large group of people attach a lot more meaning to the term than they do.


So I sell code. Source code. But purchasers cannot distribute it as source (only binaries using the source.)

They can obviously modify it, or extend it for their own development.

So its clearly not Open Source (and I don't market it as such.)

I haven't found a generally recognizable term for commercial products shipped as source code (with or without pre-compiled binaries.)

I think that term would be useful, to distinguish something that is not Open Source and also not Binary.

Currently we describe it as "all source, no black boxes or dlls." which is a bit wordy.

I would say though that regardless of what some customers may _understand_ Open Source to be, this is not Open Source. As programmers it behoves us to use correct terminology not hide behind "what we think the customer thinks."


Two phrases I've heard are "source available" and "open box". Both say recipients can see the source code, though they don't guarantee that the recipient can make modifications. Those are the closest I can think of, and both seem accurate.


Now this feels like arguing semantics. Because multiple people are wrong, this makes them right? Sorry, no.

As I said, there’s a reason we have the OSD and it’s to avoid these silly conversations in which people try to argue that because a sufficient number of people think that turquoise is blue, that it is therefore blue.

This is a solved problem, it was solved 15 years ago. Nobody working in this industry has any excuse for being unaware of it. We should not be attempting to re-litigate it on every thread ever.

Too many people trying to pass their work off as open source when it’s not are not acting in good faith and are looking to trade off the goodwill of the phrase “open source” for personal profit. I’m going to complain about this, net positive effect be damned.


A small aside:

  > Because multiple people are wrong, this makes them right?
I am sympathetic to your point of view, but in terms of spoken language, this is actually how it works (to my dismay, sometimes).

If enough people use the term wrong, then that becomes the new definition. c.f. "literally," which can now mean "figuratively." I roll my eyes, but there it is.


That's the descriptivist take, which is useful for studying informal communication, particularly in languages like english where there is no recognized authority that could prescribe how a language is used.

Many languages, and especially most subsets of languages in technical use are prescribed; however.

Enough people using literally when they mean figuratively will eventually make literally mean figuratively in casual conversation. But no amount of people saying squid when they mean octopus will make squid mean octopus within the marine biology community.


I think the interesting part comes when the technical community and the non- (or less-) technical community try to communicate, though.

A marine biologist might reasonably talk about an octopus' tentacles, and understand what other people mean when they talk about those tentacles, even though octopuses actually have "arms" in strict terminology.

Similar friction happens with the word "theory" in science or "proof" in mathematics.

But back to the topic: I think enough people use "open source" in a non-rigorous sense that it's worth leaving room for multiple definitions, versus trying to stamp the non-technical ones out. Marine biologists don't generally go around emphatically saying "they're arms, not tentacles!" (well, maybe some do, but mostly in a good-natured, aware-of-how-silly-it-is sense)


Yeah, but in this case the conversation is on a marine biology site between marine biologists and the distinction between arm and tentacle is fundamentally meaningful to the conversation.


I agree that the distinction is meaningful, but I suppose I disagree that it is safe to assume that everyone on HN has the same outlook towards the issue — we are not all developers, nor are we all involved in Open Source proper, nor do we all have the same background. In other words: we are not all marine biologists from the same school, I don't think.

Sorry to have tortured your metaphor so much (:


You are completely right, but...

I'd suggest that forums like this are good at being specific about terminology, and rigorous about its application.

In other words you, and others, may have used Open Source incorrectly in the past, and may learn from this thread so you don't I the future.

Perhaps your analogy would better apply to Open Source versus Free Software. That's more akin to octopus and squid. Open Source to commercial is more like talking about tentacles when describing a whale.


"Literally" has meant "figuratively" for hundreds of years now. How old does usage have to be before it's no longer eye-roll-worthy?


It's a good question, though I suppose it was mostly rhetorical (:

For me, I feel there is some fuzzy line to draw between "some use" and "over-use". For "literally," it seemed to get really bad maybe 10-15 years ago, where literally everyone was literally dying over literally the smallest things, and it has tapered off a bit since then (just my personal experience).

I feel like my eyes start to roll when it is paired with a lack of self-awareness. Using it as though it were for emphasis, but not actually being emphatic — just tacking it on pointlessly.

Now I'm getting flashbacks to the complaints about inserting "like" everywhere, which somehow has managed to, like, find its niche and persist irregardlessly.


Maybe never?

Richard Dawkins I think made a very good point on Twitter once: If word usage is new and novel and increases expressiveness, we should keep it. If not, we should try and oppose it. Because we want richer ways of expressing ourselves.

This in response to people using "like" too much. As in "Jane was like ... And then I was like ...". "like" doesn't mean "I said" here. So he was supporting the new usage even though he hated it.

Merging "literally" and "figuratively" reduces our expressiveness. Without context ques and maybe not even then if something outlandish actually happens, you can't be sure what was meant. What's the benefit of ambiguity?

Similarly "open source" has a precise meaning especially if you are a programmer. Lots of disciplines have precise meanings for words that might mean something else to the lay person. We don't change maths and physics to suit the layman. Why should we change the meaning of open source? If you don't like the concept as defined, you can invent your own term! Some people have and we have things like "Copy Left".

You could argue that there is some natural evolution of language, but we are also the only species on earth that has literally (not figuratively) changed the planet. So why not mold our languages too? Why should these people who are sticklers for language give in?


> Now this feels like arguing semantics. Because multiple people are wrong, this makes them right? Sorry, no.

I did not say they were right. Effectively I said a lot of people use the term "open source" differently than you do, and that I didn't think the wording you chose to argue your case was going to be effective.

I understand the frustration.

> This is a solved problem, it was solved 15 years ago

I guess that depends on what problem you are referring to. In my experience, the use of the term "open source" to refer strictly to "source available" software is about as common as it ever has been.

> I’m going to complain about this, net positive effect be damned.

Well that's your choice, but in my opinion by doing so in the way you have in this thread, you are working against the goal of persuading people to use the term in the way you want it to be used.


Fair points!


Screw the pedantic flag waving. All I care about is being able to acquire the source code of what I'm using and compile it myself. Everything else is just noise. It sounds like you're just arguing just to argue. Some people want to make money from the hundreds (or thousands) of hours they put into their projects while also making that same project available for free to those who need it most.


Sorry, but it is the other way around. "Open Source" hijacked the common phrase "open source". You don't get to say people can't use standard English because you've decided a certain phrase holds special meaning.

Anyone familiar with english but unfamiliar with the Open Source concept would just think that open source is "source code available", not that there are all these other constraints applied to it as well.


You can accuse the OSI of many things, but not skipping on their homework. They deliberately chose a phrase that had no recorded previous use in neither trade press or academia, for a specific purpose.

That doesn't mean nobody ever put the two words together before, only that they did a reasonable job to make it probable that no one could point to it as an established term. The whole idea was to trademark and protect the term, which would have been useless process had they not done their homework.

That fell through because the phrase was too generic, but the whole process was very open and well argued, in my opinion. If you have objections to the term, why did you not put them forward in 1998? It sounds a bit late to argue that the term was hijacked 25 years after the fact.


>They deliberately chose a phrase that had no recorded previous use in neither trade press or academia, for a specific purpose.

Here's Caldera using the term "open source" for a specific purpose, to describe their DOS offerings as "source available" in 1996[1], which does not fit the definition of "Open Source". Two years later, according to OSI, Bruce Perens proposed "Open Source" as a replacement term for "Free Software"[2]. The Caldera example is just an easy to find public, widely read announcement which uses the term open source in a common-English sort of way. There are more, especially if you troll around old comp.* newsgroups.

> If you have objections to the term, why did you not put them forward in 1998?

I suppose because I was 12 and just learning C at the time. Though I do recall liking the "Free Software" term better, coupled with the phrase "Free as in freedom, not free as in beer".

[1] https://web.archive.org/web/20180402143912/http://www.xent.c...

[2] https://web.archive.org/web/20021001164015/http://www.openso...


Perens did not propose the term. It had seen some use in the same circles. The document you link to supports this. Perens, Raymond and O'Reilly was probably the largest influencers in spreading it however.

The use you have found by Caldera, which just had become a Linux company at the time, likely precedes this however. I think that falls under "putting the two words together", as it was not an established term at the time.

There is simply no denying that the people around the OSI and related organizations (there were many, but mostly with people in the same circles) popularized the term and give it a specific meaning. Trying to deduce a historical event by cherry picking newsgroup messages is hard. Better to ask anyone who was around Linux related circles at the time. Being 12 at the time is certainly no guarantee of anything, there are many 12-year-olds that know more than adults, especially at the time when there was such a social explosion from the Internet, and many people were just known by their nicknames.

The situation around open source was really interesting as a social commentary at the time. A lot has been written about the connotations around "free" being problematic in English, but there was so much cultural values around the FSF, and my personal feeling (of which I have no proof) was that it was even more important to find a term that the FSF didn't own, thereby taking control over the discourse around permissionless software development which was just getting started at the time.


What gives OSI the dictatorial authority to make the final definition of open source?

It doesn't really matter who defines it as what. What matters is what people mean when they say it.


Completely agree, no developer of an open-source software has explicitly stated that a) his software is open-source and b) that he adheres to OSI's definition.

Most developer just uploaded their project to GitHub and attached a license. If OSI defines some licenses as open-source or not is irrelevant. Legally only the license is binding.


I agree that it doesn’t make sense to let some institution define what open source is.

In the end for open source to be open source it should be publicly accessible.

Anything else should be defined in the license as the maintainer/creator wishes.


Nothing. But their definition is the consensus definition, including being adopted by several governments. There is no alternate meaning with similar support, merely people who don't know what the term means.


As professionals we need to have a meaningful vocabulary. This isn’t Through the Looking Glass.


Again, what gives OSI the authority to define that vocabulary over anybody else? If you want to use "open source as defined by the OSI" more power to you but I suspect most people will continue to use "open source" as "I can find the source code online".


The OSI were the people to come up with the term. Of course they get to decide what they mean.

The only argument against that would be that the term has gained popular usage outside of the open source community and become a generic term. I haven't heard or seen any argument that that should be the case.


Yes - the vocabulary is Open Source, but not open source.


> Nope. Sorry but you don’t get to hijack the term “open source”. There’s a reason we have gone to considerable lengths to define it https://opensource.org/osd

We have a legal mechanism for dealing with this situation. They could have trademarked the term "Open Source", but that wouldn't be very open then.


OSI has admitted they don't believe open source can be trademarked the term because it's too generic, FYI.


You don't see that you have a conflict of interest?

It is in those corporations (listed as Sponsors) interest to have access to vast array of Open Source projects to exploit them commercially without committing to any R&D costs and paying the authors.

I would argue that you have hijacked the "open source" term.


Nah. Corporations have mountains of money. They don’t need a little bit of free code. Sure, they’ll take it if it’s there, but it’s not necessarily that valuable to them, because they’re perfectly capable of building it themselves at low marginal cost.

What’s valuable to them is to drive the price of a particular product down to $0, if that will undermine a competitor in an area that the original company has no hope of winning, or if that product being free will cause people to buy more of their product. That is worth a huge amount of money and is something that they are otherwise unable to achieve.


"because they’re perfectly capable of building it themselves at low marginal cost"

Casual comment. Being capable doesn't mean it makes viable sense to build it on your own and how are you so sure about the "low marginal cost". It never is when you have to build something, anything.


Just to comment in the "little bit of free code" there are projects like python and numpy that would take ages to do properly and depending on the company would never ship (or function as reliably as it does right now)

Sometimes they're buying decades worth of debugging/testing


In my experience these "mountains of money" are not freely available to developers who need to get permission for spending it from their team-leader-with-a-budget. But YMMV I guess, lucky you!


That doesn't explain why they haven't written their own operating systems from scratch and why hardware vendors are so reluctant to publish their driver software source code.


Exactly! I'm considering a small project in the future, and I'd make it open source _mainly_ for a security point of view. The kind of software in particular would benefit the users massively if they can read the code, and even self-host for the most paranoid (with a fee and a very restrictive license?). Sure, it'd not be in the "open source" space and I would personally not market it as such, but while it's way better than not having access to the code I know if it ends up in HN comments like the one you mention will be plenty.


But a hotdog IS a sandwich!


Hot dog is actually a taco according to The Cube Rule of food identification https://cuberule.com


It’s just so confusing when they put a “sub sandwich” in the taco section.


what's worse, open source has nothing to do with freedom


we should start the osai, open source available initiative, and publish a modern definition of open source (tm). and eventually we'll win, as alzheimers sets in for the old timer commie hippies freaking out about it lol




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

Search: