Will you be mad if I add https://commonsclause.com/ to Reveal license? 🙂 It will restrict your right to repackage and sell it, but you will still be able to use it for developing commercial apps, do consulting around it, even create commercial add-ons on top of Reveal. It won’t be Open Source*™*, but it will still be open source.
It's your project, and you can, of course, license it however you choose. And a Reveal with Commons Clause is (way) better than no Reveal. Still I think the Commons Clause should be considered as a last resort, because it does go against the spirit of the OSS licenses. You say it's to restrict repackaging and selling of Reveal. Have you considered an "infectious" license (like the GPL family)? Do you have concrete reasons to believe that repackaging is a problem for Reveal?
I don’t consider GPL because my intention is not to force giving back, but to prevent monetisation by third parties, since I want to monetise it myself.
To be more precise, my intention is to be able to work on what I love and have enough money to live comfortably. I think Reveal is a valuable product, and I would like to be in a win-win situation where Reveal users benefit from the problems it solves and I can spend more time on it and make it better and benefit from it. The plan (if you saw earlier message in the channel) is to (a) ensure growth by being extensible and easily available tool and (b) get paid by creating batteries-included version with various built-in visualizations for popular libraries and workflows. I don’t really know how to assess if repackaging of Reveal is a problem. On one hand, a value-add of Reveal Pro is extensions it provides, and those are going to be at most “source-available”. On the other hand, if some other company decides to adopt Reveal as a part of their dev toolset, they will probably be able to leverage their resources to make their offering more compelling just because they will be able to add stuff faster.
I think I understand your concern. My main point, in question form: is that (someone else monetising Reveal) a problem in practice? AFAIK it doesn't happen often. The singular examples that I can't even recall, are exactly that: minor annoyances, attracting mostly customers that wouldn't have come to you anyway. And if it does happen, wouldn't it be better for you and your users to at least also benefit from any changes made by the third party (a la GPL)? If it's GPL'ed, it'll also remain clear that any third party product is based on your work. IMHO that's worth more than the (uncertain) gains you'll see, trying to prevent monetisation directly.
I'll support you and Reveal regardless (but maybe think twice about contributing), so that's just food for thought 🙂.
Anyone who wants to create a commercial product on top of Reveal could simply do it from the current version, prior to your application of Commons Clause.
In addition, using things like Commons Clause can mean that certain companies will ban its use internally (stupid, I know, but I worked at a large US corporation that was very strict about the licenses on anything used for development work: it wouldn't allow GPL or even LGPL in the door).
As @clojurians-slack100 commented, I probably wouldn't contribute to a project that added Commons Clause... it would certainly give me pause before submitting a PR...
As a data point, I switched from REBL (which I was paying $3/month for) to Reveal partly because Reveal is Open Source™.
Good point about companies flat-out disallowing using GPL/Commons Clause software without understanding that they are not in a trouble for using it...
> For purposes of the foregoing, “Sell” means practicing any or all of the rights granted to you under the License to provide to third parties, for a fee or other consideration If I understand it correctly I couldn't create some package (e.g. graalvm binary) and then send it to somebody? I am not sure if I ever did such things, but I prefer not to be limited in such ways, which is why I prefer open source sw where possible. It is also reason why I didn't even try Datomic or REBL. Both can be used for free for non commercial purposes to my knowledge, but even though I would like to try them, I don't like that I can't just use them as I wish, send it to whoever I wish and possibly even sneak it in work environment. If the license just made clear that the reveal or it's derivations can't be sold, I would be ok with it, but this seems too limiting. Do as you wish ofc.
It's verbose, but the overall gist is this: > “Sell” means [...] provide to third parties, for a fee [...] a product or service whose value derives, entirely or substantially, from the functionality of the Software. You can repackage and send, but not sell.
sneaking in to work is also allowed
it seems to be ok then for me.
The point about companies is not that they "don't understand" -- they understand exactly what these licenses are about, they have whole teams of lawyers who spend their days reviewing and analyzing licenses and determining what is acceptable to the company and what is not. Trust me, I've spent plenty of time in "License Audits" -- they know what they're doing. They're just conservative about resources that get brought into the IT departments.
Is it possible to use a CLJS build with Shadow with Reveal? I tried inserting the nrepl
middleware between the shadow server and my Cursive repl window, but that will only show annotated results in Reveal until I invoke (shadow/repl :main)
, and then I'm guessing the middleware is out of the data-flow path.
Nvmd, looks like shadow naively supports prepl
(https://github.com/thheller/shadow-cljs/issues/508#issuecomment-535866881)
is it possible to eval my own functions to a selection from reveal ?
My bad, I wasn't using fully-qualified functions.
I think the unfortunate truth is that developers are a crappy demographic to sell software to. There’s a lot of choices where you’re damned if you do and damned if you don’t. Choosing an OSS license is one of those choices. I think the problem of someone with better distribution coming along and repackaging reveal is something worth thinking about. It’s the type of thing that it’s not a problem until it’s a major problem.
@smith.adriane (or anyone else, really): For my own edification, are you aware of any projects that such a commercial repackaging has happened to? I'd love to read up on it.
kibana https://www.elastic.co/ is the first example to come to mind. many of aws’s services are just repackaging OSS software and making it integrate well with the other AWS services
I'm having trouble thinking of OSS software businesses that target developers and I think issues mentioned above explain why. many of the businesses that do target developers make money by offering services, hosting, and closed source premium editions
some examples I can think of are redis, nginx, wordpress, gitlab, red hat, npm
seems like a pretty tough gig