Just to clarify, I am okay with paid software existing. It is even better if you share (parts of) the source code to the community in a permissive license. But unless your incentives are aligned with community, I would be crystal-clear and not advertise it as open-source.
Your incentives aren't aligned with the community. Should a free, open-source alternative to Lunar exist with all its features, your sales would go down. It is in your best interest to:
1. Create the best possible product that works the fastest, smoothest, without bugs, etc.
2. Create a minimal viable free product maximizing the amount of new trial users for Lunar.
3. Maximize the difference between the free and premium product to convert the most users from #2.
Open source contributors shares incentive #1 with you. They don't share incentive #2, but there's no conflict here. But incentive #3 directly clashes with those of an open source contributor if only the free product is open source.
I want to assume good intentions here, because the malicious interpretation would be that one wants to take advantage of the open source community by getting free work done on incentive #1 while rejecting anything that would cross incentive #3.
So what is your goal? You obviously want to make money - we all do. What else? Is your goal to give to the open-source community for similar applications that wouldn't directly compete with you? It's noble, but risky, as you can't enforce that. If your goal is to conduct a 'business transaction' with the open-source community: "access to my source code in exchange for potential contributions under conditions w.r.t. incentive #3", that's fine too. But that is not open-source.
If you simply publish the source code explicitly stating that parts of the source code of Lunar is available under a permissive license, that you only merge contributions that fix bugs or add pre-approved features, but otherwise people are free to do with it what they want, I don't have a problem with it. But calling it open-source is misleading in my opinion.
The goal for having the non-paid parts open source, is to share knowledge.
I have to reverse engineer a lot of macOS internals and some hardware too to make some features possible. I don’t want to keep that for myself.
This XDR thing makes an exception because it required a lot more RE work than I expected I’d like to get some publicity for it before open-sourcing and writing it up.
I don’t think I can take advantage of the open source community here. The OSS community has largely chosen MonitorControl since it is fully open source, free and accepts contributions.
I couldn’t have started Lunar without the open source ddcctl [0] project, and I want to give back as much as I can without jeopardizing sales and having to go back to a 9-to-5 job.
That is all fair. Again, I don't have a problem with you, your project or the code you shared at all. I think it looks fantastic, and I applaud sharing the reverse engineering efforts. I only take issue with the choice of words, in calling Lunar open-source.
It could be specified that only the free version is open source. You may also experiment with open sourcing some paid features too, possibly with some delay after the release if you're concerned about forks eating into your profit.
I think the fear of forks is often overblown in this context, especially with consumer facing software. You have a huge advantage in terms of expertise and an established user base, and people will tend to pick your project over a fork, even if you open source everything and publish a paid package from the open source code. Those who are usually willing to pay for software will buy it for the convenience of not having to fiddle with the source code after every update, and to support the development of the project.
Plenty of us think open source means the source is an open book to be read, not a right to take and republish.
There’s a libre or free software mindset that tends to insist “open” source should mean free things as well, but many of us, including supporters of free software, disagree, saying these are two separate concepts.
Free Software may require open source, but to keep terminology tidy, open source should not by definition drag in any requirements of free. For example, Free Software Foundation points out beneficiaries of free software have a right but not an obligation to give a copy of the software source.
Here the Free Software Foundation agrees that open source and free are not the same, and defines open source more the way you thought it meant:
> The FSF also notes that "Open Source" has exactly one specific meaning in common English, namely that "you can look at the source code."
> It states that while the term "Free Software" can lead to two different interpretations, at least one of them is consistent with the intended meaning unlike the term "Open Source". The loan adjective "libre" is often used to avoid the ambiguity of the word "free" in English language, and the ambiguity with the older usage of "free software" as public-domain software.
All that said, the term open source does come with the preconception of not just study as you mention, but generally some ability to adapt for self and often distribute further, which of course doesn’t work if it doesn’t compile.
> Plenty of us think open source means the source is an open book to be read, not a right to take and republish.
No. The term “Open Source” was defined to have its meaning at the time of its creation by the OSI. You have no right to redefine it to suit your wishes or preferences. The FSF does not agree with your definition, contrary to what you imply by selectively quoting them. Your quote comes from a text where FSF argues that the selection by the OSI of “Open Source” as a term was a bad choice, since it can be misinterpreted as simply “you can look at the source code”. This text should then obviously not be understood to be an official statement about what FSF believes “Open Source” to actually mean.
Also, neither “Open Source” nor “Free Software” imply any right to “take”, as you put it. Both terms are instead about what someone already in possession of the code is allowed to do with that code.
Your world view may be sensible and internally consistent, but it does not appear to entirely match what either the FSF or the OSI says.
Plenty of us disagree with your flat “No” meaning it’s neither flat nor even no. Not because we redefined OSS, but because it is colloquially defined.
As regards FSF, I feel their point and mine is the terminology turned out not clear, as the pure definition you cite failed to stick. Language evolves, usage evolves, definitions are owned by the living and refuse to be gatekept. Things now “mean” the concepts they generally elicit rather than what they may have elicited in the past. In this case, the purist concept is tracked by the newer terminology; the ‘misperception’ is now disambiguated into its casual non-practioner use. By claiming both terms still label one concept, you are not among the ‘plenty of us’ recognizing convention evolved, and we are aware you disagree. But props for still trying to hold the line!
Sorry, granted, there is a legal definition of ‘taking’. In this case, I didn’t intend to redefine ‘take’ as meaning not in possession. Instruction to “take a hammer and drive a nail” doesn’t mean one starts by robbing a store. Of course, the muddle over those rights is why the even further suggestion of ‘Libre’ over ‘Free’ over ‘Open’.
Put another way, I strictly agree with you, but it’s futile since in the end casuals define things. It’s not your Open Source, it’s Nacho Libre! ... (Sorry. :-)
> Just to clarify, I am okay with paid software existing.
"Open source" does not mean "you are not allowed to demand money". For example Fritzing ask the user to pay for the download (see https://fritzing.org/download/). It just means that you don't have a monopoly on distribution or asking for money.
Your incentives aren't aligned with the community. Should a free, open-source alternative to Lunar exist with all its features, your sales would go down. It is in your best interest to:
Open source contributors shares incentive #1 with you. They don't share incentive #2, but there's no conflict here. But incentive #3 directly clashes with those of an open source contributor if only the free product is open source.I want to assume good intentions here, because the malicious interpretation would be that one wants to take advantage of the open source community by getting free work done on incentive #1 while rejecting anything that would cross incentive #3.
So what is your goal? You obviously want to make money - we all do. What else? Is your goal to give to the open-source community for similar applications that wouldn't directly compete with you? It's noble, but risky, as you can't enforce that. If your goal is to conduct a 'business transaction' with the open-source community: "access to my source code in exchange for potential contributions under conditions w.r.t. incentive #3", that's fine too. But that is not open-source.
If you simply publish the source code explicitly stating that parts of the source code of Lunar is available under a permissive license, that you only merge contributions that fix bugs or add pre-approved features, but otherwise people are free to do with it what they want, I don't have a problem with it. But calling it open-source is misleading in my opinion.