Handsontable drops open source for a non-commercial license
github.com
github.com
It's painful to watch so many good developers giving away their best work for free, because they feel it's somehow their duty to do so. It's the same feeling I get watching fresh graduates working 100 hour weeks for these startups because there's free food and everybody else is doing it. You want to help, but the culture is just so well geared towards attracting new kids to exploit and convincing them that the exploitation is a good thing.
It's like a cult. Except that nearly every software developer in the world is in on it.
I'm certainly not helping the situation personally, and will happily use whatever Open Source software product helps my business for free. But I do hope that people come to their senses at some point and stop peer-pressuring each other into continuing to spend so much effort polishing good software only to give it away for free.
The things you build have value. They're making other people billions of dollars. Charge accordingly.
html and js tables are a commodity which does not make billions of dollars. They will be forked into oblivion. I think they overestimate the value of their product a little bit. Wish them good luck though.
On the other note:
What if you fork that repo and change something small, can you use it for commercial purposes? Or is it stated that any modification MUST use the same license, and you must pay the original creators?
As pointed out in the github discussion, Elastic did the same thing with Elasticsearch, and that contributed to AWS forking the project: https://aws.amazon.com/blogs/opensource/keeping-open-source-...
The same exact issue applies here:
> The maintainers of open source projects have the responsibility of keeping the source distribution open to everyone and not changing the rules midstream
> we believe that maintainers of an open source project have a responsibility to ensure that the primary open source distribution remains open and free of proprietary code
Those comments aren't an indictment of the open core business model or of attempts to monetize open source, but rather a criticism of "muddying the waters" and trying to create licensing confusion.
> we believe that maintainers of an open source project have a responsibility to ensure that the primary open source distribution remains open and free of proprietary code
I disagree. Nobody has the responsibility to do anything for free. Amazon is free to take that responsibility for itself though.
The fact that this comes from a company that in more than one case has modified an open source project and kept the changes hidden behind a SaaS only adds insult to injury.
In general, yes. If you call something an Open Source project, however you take on certain responsabilities that you wouldn't otherwise have, such as not playing bait-and-switch, and can hope for people sending in bug fixes and patches (and even signing copyright assignments if required for dual licensing).
If it were just "doing things for free" and not receiving anything in return, FOSS would not interest anyone and we'd get back to the shareware world of the 90s where (as a user) you got an evaluation license but no stake. Some developers prefer the shareware model to going full OSS, which is fine. Playing bait-and-switch by turning an Open Source project (with the community and the help and credibility that potentially come out of it) into a Shareware product will, like any bait-and-switch, irritate people.
The only way I see to get money out of someone for a product like Handsontable, while maintaining an open souruce version is by withholding some features + extended support. That's what they've been doing and they've said it hasn't been bringing in the return they need.
In Elastic's case, they have a product that is easy to monetize while keeping an open source version: you offer your product as a (hosted) service + extended support, so if people don't want to deal with setting it up themselves, they pay you. Docker seems to be a good example of this. The open source version is still fully availiable and can be used however you like, but comes without that extra support (and maybe a few features).
Instead, Elastic has stuck a bunch of proprietary code on Github, seemingly to bait people into use it, when they're not allowed to. Handsontable aren't doing anything like that. Once they go proprietary, they're archiving the repo. It's still there if people want to use it, but it's not being maintained. That's really no different to any other random piece of abandoned code on Github (of which there is plenty).
That's not true, last month https://github.com/handsontable/handsontable/ was MIT licensed, today it is proprietary. Handsontable is attempting the same sort of "baiting" that Elastic did. There is no evidence they are archiving the old repo, and in fact they are archiving the proprietary repo and merging it into the open source one:
> The Handsontable Pro package on NPM is marked as deprecated and the repository on GitHub is archived (made read-only)
Noncommercial licenses (for software or content in general) are especially problematic, because there's no easily-ascertained notion of whether some use counts as "commercial" or not! These kinds of shenanigans are why so much useful software got lost in the 1980s and 1990s microcomputers era (despite being made widely available at some point), and that's exactly what the FLOSS and open-content movement strive to fix - we don't want something like that to happen again.
- as I mentioned before the fact that they were actual open source compared to some of their competitors heavily the decision of the team I was on at that time to go with their commercial package. That advantage is gone now.
- I have spent a few hours voluntarily helping in debugging and following up a couple of issues because it was open source and I was helping us and everyone else.
- They might have gotten of the hook a bit easier a couple of times (bugs, half a year of delays) than if they'd been commercial.
I don't know, I thought many people here would do the same but I don't know so I cannot say how much goodwill they are losing.
And sometimes, you really want to, just to prove yourself not all software has to be made out of layers of shit.
There is a difference though: When contributing to open source, youre giving away your work to the public. When working excessive hours for a startup, your giving away your work to a for-profit company you dont own.
Though the difference isnt very big when your OSS product is mostly useful for companies anyway.
"Anything that people will do, they can be paid to do." This means that, if people are already doing something, then it is possible to form a market by compensating them and claiming that the compensation is due to what they have done. However, it does not mean that things which you intend to do will be compensated.
It's painful to listen to the same tired anti-Free Software arguments. You feel that money is a reasonable yardstick for value, but if it were, then most commercial software would be given away, since software is merely information (a collection of bits) and information markets always have a degenerate behavior where the value of any particular piece of information tends towards zero as the number of people who know it climbs. (Formally, these markets have the quirk that every purchaser becomes a seller, causing the market to spiral into a degenerate shape.) Indeed, SaaS embodies this economic lesson.
Worse, you've confused giving away Free Software with giving away hours of labor to startups. These are very different situations, and I think that you know it, but by confusing them, you get to claim that FSF and GNOME are as exploitative as Y Combinator. To give you a clue, one side backs Free Software, and the other side doesn't.
Hearing a cultist of finance decry the cult of Free Software is pretty cute. Of course you're gonna be uncomfortable with our model and the fact that it gets shit done. Either loosen your mind or continue to be uncomfortable.
The things you've said have negative value. Indeed, you are not helping the situation personally. As a result, I'd like to invoice you.
Ending thought: Isn't almost all software actually shit? Why do you think that it has value?
>Worse, you've confused giving away Free Software with giving away hours of labor to startups. These are very different situations, and I think that you know it, but by confusing them, you get to claim that FSF and GNOME are as exploitative as Y Combinator. To give you a clue, one side backs Free Software, and the other side doesn't.
If you are working yourself to death for free software instead of ycom, you die the same. Producing free software isnt some magical net good that is worth your life.
This is the thing about the GPL license (in general):
The thing I made has value - here is my code; use it, enjoy it, as you see fit. If you make changes to it that you distribute, then as payment for the value of my code, you pay me (and the community) in code.
That's the basic monetary transaction of GPL, at least as I see it. I write code, you pay for it in code. Hopefully your code has as much value as my code, but that's a chance I take (there's also a great possibility your code has -more- value than my code; ideally you'd see this as an overall increase in the value of the code as a whole for the future - kinda like rising stock value, or maybe interest gains?).
No - code will not feed my family nor pay for my home, etc. Which is why I have a standard day job.
But if I write something in code that I ask for code in return as payment, why not?
This is really all I want out of anything. I don’t want to pay to evaluate, just to see if it’s a good fit. But if I’m going to use something commercially, I actually want to pay for it, at least if that thing is a complicated component like a rich text editor or handsontable. These open source projects usually have 1-2 developers who account for 95% of code changes[0][1]. If they went away, the project would die. Commercially, that’s a huge risk.
EDIT: Just read this license. I wonder why they went with license keys?
I wasn't clear. I wasn't comparing to commercial companies. I basically don't use commercial software because I'd rather have to code features myself than depend on somebody for documentation. Depending on someone for documentation (ie. having to reverse engineer something you paid for!) is one of the worst feelings in the world. Commercial open source is the best of both worlds for project that require a lot of domain knowledge from developers (eg. the highest-end knowledge of browser compatibility issues, which is required to build a contenteditable rich text editor). You may not agree, but my perspective is that in the open source world, the reality is that the primary developer is the difference between the project existing and not existing. You can just ignore that and not compensate that person with anything but good vibes, but then you'll find that the project no longer exists.
Personally, I'd rather get an open source commercial product that I can read the source and contribute back to (which means yes, I would be giving those contributions back for free, that's part of the deal), than having to deal with having either no source code, or code and consultants, which is also fraught with challenges.
It is scary you can't fork a commercial OSS project, but if the company dies they usually make the software free.
> From these thousands of businesses and millions of downloads, a very small group (less than 0,5%) decides to enter into business relations with CKSource.
Source: https://github.com/ckeditor/ckeditor5/issues/991
CKEditor (a rich-text editor) is this kind of really complex piece of software which requires years of experience and years of development. It's also a piece of software which is complex enough to scare people from contributing to it. So people use it for free and report bugs to you. That's all. With that conversion rate about 0.5% and a rather niche market, it's possible to slowly grow your business (as we did – CKSource is 40+ people today), but hard to keep up with the world.
Just to give a context – CKEditor 5 (which was written completely from scratch) required 5+ experienced developers working for more than 4 years right now. Therefore, for CKEditor 5 we chose GPL2+. We hope to have a more healthy paying/free users ratio. The future will show us if that's a good direction
BTW, you say that:
> commercial licenses can be a serious pain to navigate in many companies
From my experience, it's actually the opposite. Companies like our commercial license because it's easier for them than going with e.g. LGPL or MPL and hoping they won't violate it.
But as you have yourself pointed out, it is (or at least may be) possible to make money as a commercial entity whilst still using a FOSS license, without entering the netherworld of “what is commercial use” arguments that these bespoke licenses create.
P.S. I know CKEditor very well, having used its predecessor FCKEditor on a small website for a local charity over 15 years ago! So thank you for continuing to support FOSS :)
Cynically yours,
mcguire
This would have involved legal department and dramatically increased cost and time to resolve.
A “not more than 100 unique users per day” license for 1000 USD I would have bought in a blink of an eye.
Same for 'machine' (or even worse, 'cpu') based ones...
I don't know what a good number for cost scaling would be, if any. But what most companies offer right now is plainly terrible.
This license change can play out in three ways: (1) free users convert to paying users, (2) free users move to other products with more liberal licenses, (3) combination of (1) and (2).
(4) free users fork the free version, like what AWS did with Elasticsearch https://opendistro.github.io/for-elasticsearch/
That's a ~4% conversion rate. Anyone have data for any similar OSS software libraries with a free tier?
The ratio of customers to open source users is largely useless. To "convert" users, you need to offer something above and beyond what is available in the open source offering. Unless you have something compelling, people won't "convert" out of altruistic desires. Unfortunately that's not how business works. We found many companies deciding to fork our open source libraries before even considering contacting us (for example, the John Deere homepage https://www.deere.com/en/ uses a forked version of our open source offering)
To "increase the conversion rate" you have to either improve the value of the commercial offering or cripple / remove the open source offering. They seem to be doing the latter.
You think you have plenty of money to spend and it's easy to get licenses for software. Nope. It's often harder than being in a small business. Licenses often mean lengthy RFPs with extensive Legal and Procurement involvement.
Need to try and sneak things under the radar if you want to get them to buy your products.
So in some ways it makes sense to make your enterprise price incredibly high - because the people within large companies will either be able to spend loads of money, or non at all. Very few will be anywhere in between (and will find it very difficult to pay or continue to pay over time).
https://www.joelonsoftware.com/2004/12/15/camels-and-rubber-...
I'm not even sure if that would have much influence: the line between paying and non-paying might be just the divide between companies where it's hard to get paid licencing approved and companies where it's hard to get unpaid licensing approved. The key to a high commercial open source conversion rate might be targeting industries where lingering distrust of open source is still common.
Certainly you can easily jump to "100%" conversion rate by dropping an open source offering so there's no conversion to rate, but never forget that conversion rate is a bad metric to optimize in this case. You can have a very high conversion rate of a very low number of users very easily, and that doesn't mean you get paid more at the end of the day, though.
Removing/crippling an open source offering can backfire in simple and obvious ways such as killing community goodwill, or crippling any conversion rate momentum you have in existing marketing efforts and conversion paths. It can be a quick way to shrink your entire audience for the project.
So yes, the ratio of customers to open source users is largely useless, but I'd say more for the same reason that any ratio metric fails to account for magnitudes of scale, rather than necessarily blaming individual users on either side of the "conversion fence".
[0] https://handsontable.com/spreadsheet-viewer/ [1] http://sheetjs.com/pro
> From these thousands of businesses and millions of downloads, a very small group (less than 0,5%) decides to enter into business relations with CKSource.
Source: https://github.com/ckeditor/ckeditor5/issues/991
However, the difference is that all CKEditor 4's plugins were open sourced and licensed under a permissive set of GPL2+/LGPL/MPL licenses. So the project was funded by a combination of support, SLAs and commercial licenses.
With CKEditor 5 (a completely new project) we chose GPL2+. I will be able to tell you how it worked for us in a couple of years
With Caddy I'm fairly certain I donated (as did others, including Mozilla). I guess my contribution didn't mean much but it still felt weird.
With Handsontable we recommended it at a project and made sure to get commercial licenses - because it was open source.
That said, when I recommend open source at work it is not because of the price but because of peace of mind it gives.
I predict that eventually we will see more and more projects following the same route and try to monetize their products and it will become much more normal, companies will get used to it and eventually everybody will be better off.
Reading `samuelcolvin` comment on that thread made me think - mainly on point #4
" One definition of anti-social is "something that would break society if everyone did it". Take a minute to image a world where every successful software project made this move: node, webpack, react, angular, vue, bootstrap, python, rails, django, etc. etc. etc. - we've all decided to charge $2000/year - what would handsontable inc.'s toolchain or website cost? Would you have even learn to code? The software industry would look like the airline industry, the world would be a less fun place. "
I think they pose a good point - How is any hobbyist meant to get setup with a solid JS stack which involves 10's / hundreds of dependencies if you have to pay 10k/y+ licence fees before you have any paying customers? It actually feels like the opposite of progress as now only the big bugs can afford to set up shop with the best tech for their product.
Ultimately I think there's space for commercially available open source projects - the issue is the lack of companies / individuals giving back to sustain this movement.
First of all I don't think is fair from software developer. We do real engineering and still we are not recognize as engineer. A transaction to a more rigours profession is good in my opinion and if that includes costs like receiving a degree or upfront buying expensive equipment, I am not so against it.
A product that is sold ensure maintenance and ongoing development which is very very needed with too many tools and libraries developed by amateurs that polutes the whole ecosystem.
Try to reverse your example, immagine the airline industry as it was the software one. Would it be more fun? Surely, we would have jetpacks, small private elicopters and everything will "move fast", but they will crush any other flights... Would it be better for the society? I doubt it.
Of course there is a reasonable middle ground!
Yes, but the point is that the airline/aerospace industry exists, as do many other industries and profession that require expensive tooling. Heck, the software industry existed and produced a variety of successful products in the late '70s to early '90s before FOSS started taking off.
Paying for tools is not an insurmountable obstacle.
As somebody who produces Free Software and has a day job, I think that this new movement will strangle itself, and that that's an appropriate fate.
After having worked with DataTables, ag-Grid and having evaluated a couple of others I'd say that ag-Grid Enterprise is the best general purpose grid library at the moment.
Only for the use case where you really need exactly some kind of Excel look-alike/Excel web viewer, Handsontable Pro or SpreadJS will probably be better for you, as ag-Grid does not really offer a finished solution here and also misses a couple of minor features at the moment.
They may have shot their user stream in the feet.
is a general one available?
JavaScript For loops with
- :label (eg go to)
- continue
- break
It was definitely an interesting sperlunk!
Sometimes you really need an exit in the middle of the loop.
I’m more just commenting that it’s a strange / interesting code based worth sight seeing. It was written in a style that seemed like from another language.