I am Prasanna, the founder of PrivJs (https://privjs.com) - Internet's first open-core software marketplace.
While building a few products, I was wondering if it could be a good practice to release a chunk of my paid software to the open-source community? Will that have any adverse effects on the product? Or will it benefit overall?
-Prasanna
For Example, Elasticsearch. So popular, fully open-sourced. Still, Elastic sells fully managed clusters. And, many companies choose Enterprise license.
If you want smaller example. 2 month prior the beta launch of NewsCatcherAPI (https://newscatcherapi.com) I decided to open source some code we've done (https://github.com/kotartemiy/newscatcher). We ended up having 300 people fro beta sign-up. Then, 700 pre-launch.
So, I attracted lots of developers who already liked the field via open-sourcing
Edit: grammar
Even in the B2B market successful open source companies often use dual licenses and release the open source version as a sort of crippleware by keeping essential libraries and tools proprietary or under very restrictive open source licenses.
I discovered this for pgmodeler[1] and found it a very good way to monetize the development of the application.
Have a look at the Parity Public License and the Prosperity Public License. https://paritylicense.com/ https://prosperitylicense.com/
Those two licenses allow others to read, modify and redistribute your code. Parity requires that users open source their code, while Prosperity only allows non-commercial usage. If a potential customer doesn't want to be restricted by the public license you choose, they can instead buy a private license.
Also see License Zero's private license. https://licensezero.com/licenses/private
For instance laravel has a hosted invoicing app: InvoiceNinja, but it's open source too, as in you can host it yourself, just it doesn't have any of the multi-tenant stuff baked in.
So personally I'd like it if authors at least made provisions for open-sourcing their apps in their will, or in the ‘life moved on’ plan.
However, if a copy of the source doesn't come with my purchase then I am much, much less likely to buy it. I'm obviously only one user, so take my anecdote with a grain of salt.
I use a model of "source-included" personally. This way I respect (most of) the freedom of my users, but not at my own expense.
I don't have a vetted license in mind tho. So far I haven't needed it. Someday hopefully I will ;-)
Side note: make sure you have build instructions for your users tho. I don't like when I buy software that is source included but then building is impossible because `make && make install` (or whatever for that platform) doesn't work and there aren't any instructions. You don't want your buyers to have remorse.
*Other side note: Thanks for thinking about this! It's really cool of you to think about community
But the thing is that while Windows has many alternatives (I'm saying this as someone who's been using Linux full time since the age of 11), for most people that really isn't an option: while you can get things like Photoshop to run on Linux, the experience is anything but optimal. I don't use Photoshop at all(or any graphics programs). But say my mum who's an artist - she practically has to use Windows. So in that sense, Microsoft has no benefit in open-sourcing anything, even though they have been doing that in recent years. I remember seeing a huge discussion on Twitter last year and several people said that at some point Microsoft will become a completely open-source company. Personally I doubt it, but who knows...
Now let's look at another example - Google, and Chrome in particular. As a browser, Chrome has a million and one alternatives, many of which are very good. So having an open source alternative is in their best interest - think of how many browsers [1] use and contribute to the chromium engine - it's a win-win situation for everyone: Big community, a thousand eyes looking into it's internals(and undeniably catching security flaws).
Then again, this isn't always applicable. Even more so with javascript and npm in particular, which has turned everything into an endless rabbit hole of packages, dependencies and before-after install scripts.
[1] https://en.wikipedia.org/wiki/Chromium_(web_browser)#Active
You can create your business around service providing rather than using state legislation to coerce people to not reproduce and alter information they know.