10 ms·
Meteor meets NoGPL
- losethos 15y agoLoseThos is the only public domain 64-bit OS. God says... C:\LoseThos\www.losethos.com\text\QUIX.TXT leave behind me the name of a madman; for though I have been one, I would not that the fact should be made plainer at my death. Call in to me, my dear, my good friends the curate, the bachelor Samson Carrasco, and Master Nicholas the barber, for I wish to confess and make my will." But his niece was saved the trouble by the entrance of the three. The instant Don Quixote saw them he exclaimed, "Good news for you, good sirs, that I am no longer Don Quixote of La Mancha, but Alonso Quixano, whose way o
- dabeeeenster 15y ago"The basic idea is that the source code is publicly available for people to look at and modify and that it costs nothing to use as long as you’re building a GPL application with it and give out your source code too" Can anyone confirm whether this is actually accurate? I'm not sure it is...
- zmoazeni 15y agoI've been reading up on GPL because I know little about the nuances, but I think you only need to GPL and provide the source code if you distribute it to others. Web seems tricky for GPL, but I thought that was the purpose of AGPL. Please correct me it I am wrong.
- almost 15y agoYou're correct that for a server side web project the GPL doesn't make you distribute source since you never distribute the binary. For client side javascript stuff though you ARE distributing the result (minified JS or whatever) so you do have to distribute the original source.
- davidroetzel 15y agoAGPL closes the "loophole" for server-side code. Meteor pushes a lot of code to the client. This most probably constitutes distribution. See Sencha's take on this: http://www.sencha.com/legal/open-source-faq/ http://www.sencha.com/legal/open-source-faq/ They make money by dual-licensing JS code.
- BjornW 15y agoNot entirely. If you're building an application based on GPL licensed code, which is not handed over to the an other party, you're not required to handover any adjustments you've made in the GPL licensed code. That's what is referred to as the 'Services as a loophole' construct (ab)used in the GPL. See also this 2007 article by Tim O'Reilly: http://radar.oreilly.com/2007/07/the-gpl-and-software-as-a-serv.html http://radar.oreilly.com/2007/07/the-gpl-and-software-as-a-s... Btw, The AGPL tries to prevent this loophole and does require you to share adjustments made by you on AGPL licensed code even if your only using the software as a service and the other party will not receive the application/code.
- pwpwp 15y agoIt's a question of whether a program using Meteor is to be considered a "derived work". http://en.wikipedia.org/wiki/GNU_General_Public_License#Linking_and_derived_works http://en.wikipedia.org/wiki/GNU_General_Public_License#Link...
- CodeMage 15y agoThat's one thing that has been bugging me since the first time I've heard of GPL. If I use a library or framework that's licensed under GPL, without modifying said library/framework in any way, do I still have to (as TFA puts it) "extend the copyleft nature" of GPL to my code? It would be great if someone could finally lay this question to rest.
- regularfry 15y agoYes, you do. From memory there's one get-out: if there are non-GPL products which would be drop-in replacements for the user, the GPL isn't contagious.
- tzs 15y agoNot quite. What you are probably remembering is this (or something derived from this). 1. Someone wrote a program. It needed to use an arbitrary precision math library, and it needed to use a freely distributable but closed source library. 2. This program was distributed in source form. In the source code there were #ifdefs to allow it to be built to use either of the two most common arbitrary precision math libraries. One of these was under a BSD license and one was under GPL. 3. Many systems did not have either math library preinstalled, so someone who wanted to build this program on those would have to go download whichever math library they decided to use. 4. Stallman claimed that distributing the program induced people to download the math libraries, and since one of the libraries was GPL, the program was inducing distribution of GPL code, and so itself must be placed under GPL. 5. The author of the program wrote a new math library that was just a wrapper for the BSD library, but that provided the same interface as the GPL library. Now people who chose to build the program with the build option to use the GPL library could successfully build by using this new non-GPL library. Since the source code no longer contained a build option that necessarily induced those electing it to go and download GPL code, Stallman was satisfied.
- obituary_latte 15y agoI think I prefer the paid-support model a-la RedHat. I think the OP makes a good point of this licensing possibly hindering uptake/contributions to the Meteor project. Just by virtue of Meteor choosing this licensing model, I've lost some of my excitement to try it out. I would most certainly use it for something commercial and because it looks so sweet I would be willing to shell out some $ for, say, some email support or maybe for some bleeding-edge features. Having to worry about not being able to use Meteor in a commercial capacity without knowing the price-point breaks the deal off the bat. I'm a one man team and don't have the time nor resources to swim through legalities and pricing--I need to be writing code. This isn't to say, though, that if I wanted to do something outside of the scope of a commercial app I wouldn't try Meteor--but who knows when/if that will happen.
- woodhull 15y agoThat's kind of a silly view. You would rather spend 6 months "writing code" than spend 1 day negotiating a contract that would save you 6 months of effort? What if sending them an email that took as long to write as this HN post would get you a quote? Psychology of product purchasers is fascinating.
- obituary_latte 15y agoHow about if my budget for negotiating contracts is $0? If I don't have a baseline price and I am worried about licensing, I'm not going to spend time trying to fight for a budget to then spend time trying to negotiate a contract--I don't have time. If I could dev without licensing worries, then I would fight for a budget for things like support and add-ons. Also, may I ask why you put "writing code" in quotations?
- jasonkester 15y agoPersonally, I'd prefer they just kept it closed source and charged money for it rather than making it "open source, but not really since you can't use it to build anything unless you give out all your code or can lawyer your way past this obnoxious, ambiguously worded license". I don't care about being able to look at somebody else's source code. I just want something that I can use. Meteor looked really cool until I realized they had those two points exactly backwards.
- sanxiyn 15y agoYou can use Meteor. I quote from FAQ: If the GPL doesn't work for your project, get in touch (contact@meteor.com) and we will write you a commercial license to your specifications.
- caf 15y agoHow is dual proprietary/GPL anything other than strictly less obnoxious than proprietary alone? You can, after all, stick your fingers in your ears and pretend that it's proprietary alone, and there will be no observable difference.
- msy 15y agoI think the obnoxious part is not being entirely upfront and clear about what you're looking to do. Sencha make no secret of the fact they're a business, with Meteor you need to infer it from a vaguely worded FAQ point and the licence type.
- zdw 15y agoLGPL with a linking exception for platforms that require solid binaries (like iOS, some embedded systems) covers the vast majority of use cases that the "anything but GPL" crowd cares about. In Meteor's case, as it's middleware, the LGPL would be the more appropriate license anyway. I get the feeling that they're searching for business models with Meteor. The most obvious one would be optimized paid hosting ala Heroku...
- marcusf 15y agoFirst of all, it's of course the Meteor team's prerogative to chose whatever license they want, and wanting attribution and pull requests is in no way an unworthy cause. That said, GPL made me look twice. Mainly because client and server are so intertwined, that I assume the entire app would need to be GPL'd to use Meteor without getting a commercial license. Now I've nothing against the dual licens, and paying for a framework that makes us money , but before shopping Meteor around the company it'd be good to have some specifics on what they're thinking in terms of a commercial license model. I hope that's on their priority list. It's hard to motivate investing in something that may later turn out to be prohibitively expensive.
- lucian1900 15y agoThis is likely irrelevant for the server-side bit, and it remains to be determined if it is for the client-side. It will hinder contributions if they require attribution, however.
- madhadron 15y agoAbsolutely. The license difference is why FreeBSD is so much more widespread than Linux. </sarcasm>
- lucian1900 15y agoLinux doesn't require copyright attribution, whereas things like MySQL and OpenOffice did. Notice how much more momentum Linux has (for other reasons too, of course).
- cperciva 15y agoThe license difference is why you're aware of so many places that Linux is used. It's hard to miss a blob of text as big as the GPL. There are a lot of boxes running FreeBSD internally which you never hear about. We try to convince vendors that it's ok to talk publicly about using FreeBSD, but an awful lot of them consider it to be "secret sauce" which they don't want their competitors to hear about.
- drpancake 15y agoSencha took a similar approach with ExtJS and it pains me to watch it falling into obscurity. The framework itself is elegant and well thought-out; it seems that everything Backbone and its various offshoots give us now was already available there years ago.
- clarkevans 15y agoI don't think they are falling into obscurity -- last I talked with people there, Sensha is quite profitable and growing rapidly.
- drpancake 15y agoSencha Touch is growing because they stopped dual-licensing it. Going on my own personal experience, ExtJS doesn't have much mindshare in the circles I care about i.e. valley-style startups.
- chrisrhoden 15y agoThis is by no means a clear cut situation. The question of whether a piece of code which uses this library is a "derivative work" is not an easy one to answer, and the GPL only applies in situations where one is distributing said work. Imagine if the client side libraries for Meteor end up in the Google CDN. Then you're only distributing your own code and linking against a separately distributed GPL library. Beyond that, you don't even care if the library is actually Meteor, you just care that it has the API that you use, meaning it can't really be suggested that you know you're linking against GPL code. What about the server/client split? Could you make an argument that they're implementation agnostic to one-another? So why would you need to distribute your server side code just because you distribute your client code? Simple answer is that you don't under the GPL.
- rbanffy 15y ago> linking against a separately distributed GPL library. Unless you are changing your underlying JavaScript implementation, I don't think you are really linking your code to anything in this case. It could be that your JavaScript runtime got linked to the library, but the runtime/interpreter being GPL doesn't require your programs to be GPL too.
- chrisrhoden 15y agoI meant linking in the web sense - literally pointing at some offsite bit of code that you do not distribute and adding its APIs to the context you're currently running in.
- rbanffy 15y agoTechnically, you are instructing your runtime to load and execute source code hosted elsewhere. I don't think this is the kind of linking GPL refers to.
- olalonde 15y agoGPL doesn't require you to distribute your server-side code if you are hosting it on your own servers (AGPL does). The client side code does have to be open sourced since it is distributed but Javascript code is pretty worthless without the server-side API, HTML and CSS that goes with it. In other words, all the commercial license does from a business point of view is allow you to sue people who copy your client side code. That's a pretty poor incentive since most businesses don't even care about people stealing their Javascript. In addition, as mentioned in the article, the GPL license makes people feel like they are contributing because they legally have to rather than because they want to give back to the community, which is not a good thing from a psychological point of view[0]. FWIW, I would advise the Meteor team to pick a more permissive license and reconsider their business model. Perhaps they can provide consulting, hosting, job board, certification, etc.? [0] http://www.youtube.com/watch?v=oV0cbCFGAtU http://www.youtube.com/watch?v=oV0cbCFGAtU
- ahoyhere 15y ago…but Javascript code is pretty worthless without the server-side API, HTML and CSS that goes with it. Well now, that depends heavily on what you're doing with the JavaScript. Our JS, for example, is far from worthless and we already have problems with people ripping us off.
- pbreit 15y agoBut with Meteor he line between serve and client code is much blurrier. GPL is bad but it's even worse in this case.
- mistercow 15y ago> GPL doesn't require you to distribute your server-side code if you are hosting it on your own servers This is very clearly true, yet I know of several GPL libraries whose maintainers believe the opposite. It is very strange.
- getsat 15y agoAre they GPL, or AGPL? The AGPL removes the so-called "network service loophole". Unsurprisingly, few projects use it.
- antoviaque 15y agoThey're making an amazing framework - something a lot of us have been waiting for. They spent time & energy on it, and yet make it freely available. The only thing they ask in exchange is to share what you do with it under the same terms, or pay for their work if you really want/need to be proprietary. I'm always amazed by this reaction - ie being ok to use the generosity of others, but refusing to reciprocate.
- wavephorm 15y agoThe real reason permissive licences are preferred is developers are greedy. I know, I'm a developer and I'm greedy. I don't want to admit I'm using other people's code to do my work. I want to silently include that code and pretend that I did all of it myself and impress people with my amazing programming skills. If I have to buy a license I have fess up, and admit to myself I need their code, whereas if I can just use it freely there isn't that moral barrier to cross.
- justincc 15y agoAs a developer I'm just the opposite - I want to give as much attribution as possible from both personal (acknowledge the people who actually did the work, feel-good-about-being-part-of-a-community) and practical standpoints (demonstrating the components come from external projects known to other people rather than part of a personal codebase that only I'm intimately familiar with that the client always has to rely on me to maintain). But then practically all my own current work is open-sourced which probably skews my opinions.
- web_chops 15y agoYou got it reverse. Most permissive licenses need attribution (in form of leaving the original header comment etc) which lets the whole world know that you are using the component. A commercial license gives you complete anonymity (most let you completely change the source code) except for the charge on your credit card bill. And I don't think its greed. Not many applications on any platform gets written completely from scratch without using other libraries.
- wavephorm 15y agoMost permissive licenses need attribution (in form of leaving the original header comment etc) which lets the whole world know If the code is being used for commercial and propriety purposes then the code is never seen, never attributed. Attribution in the form of source code comments is really only valuable in other open source projects.
- protomyth 15y ago
- 47 15y agoSencha has used GPL/Commercial License business model successfully.
- nkoren 15y agoAs exciting as Meteor is (VERY!), their approach to licensing kills it for me. The products I am working on cannot be licensed under GPL for a large number of reasons, and their "talk to us and we'll see what we can do" policy puts too much risk into my business plan. At the early stage of product development, I don't necessarily know the finer points of how my revenue model will work. If there's a fixed fee for a commercial Meteor license, then I can put that into my business plan, see what kind of impact it has under different scenarios, and make a judgement call. But a "let's discuss your revenue model and see what makes sense" approach simply can't happen during the earliest stages of product development. Which means that basing my product around Meteor would introduce a potentially catastrophic risk into my business, should their licensing terms turn out to be too onerous, once that conversation can finally be had. So, with considerable regret -- because it looks awesome -- Meteor is unusable to me. I'm certain that many other people are in the same boat. Its developers say that they've chosen this license because they want maximum contributions from the community. By seriously limiting the size of the community that can use Meteor, they've chosen the wrong way to do it. I would strongly urge them to reconsider their choice of licenses. The MPL[1] would probably be the most compatible with their aims, since it requires any modifications to the core Meteor components to remain open source, while allowing the inclusion of closed-source components without violating an aggressive copyleft. This is a constraint that I would be very happy to live with. Choosing between an agressive copyleft or whatever is behind the mystery curtain labeled "commercial license" is not. If the Meteor team wants to fix this, they can either: 1. Clearly state that they require a commercial license for commercial use, and state the price and terms of that license upfront (the Sencha approach). Or, better yet: 2. Switch to a license such as MPL, BSD, or MIT. The former will allow commercial developers like myself to begin adopting Meteor; the latter is guaranteed to produce a much more robust open-source community around it. If Meteor is to become the next Rails, then that's what it needs to do. Barring this, I'll just wait for other enterprising developers to take the Meteor concept and re-implement it with a more permissive licensing scheme. If Meteor is as good as it looks, then this should happen relatively quickly. [1] http://www.mozilla.org/MPL/1.1/ http://www.mozilla.org/MPL/1.1/
- pwpwp 15y agoHave you talked to them?
- madhadron 15y agoOther folks have already pointed out that using a library does not constitute a derivative work, so the author's point is irrelevant anyway. There are times when BSD license and equivalent are sensible choices. Berkeley was releasing a reference set of source code. Their whole point was to have a common platform that everyone was building off of. Similarly, a BSD licensed reference implementation of TCP/IP back in the day meant that everyone could get the protocol up and running much faster with far fewer inconsistencies. BSD licensing is useful for social engineering. But for most cases this isn't so. Why would anyone who wrote a JavaScript library and gave it away want to make it easy for someone else to build a company around taking their work, extending it a little, selling it, and giving nothing back other than enough tidbits to keep the community (if any) from getting up in arms? This is what happened to the Lisp machines, and it's exactly why the GPL is the way it is. Businesses have a fiduciary responsibility to maximize shareholder profits. If you're selling software, that means minimizing costs and maximizing income. It is the legal obligation of a company to take any permissively licensed code it can get its hands on and thinks will speed things up, extend it a little, and sell it. My response: if I'm not trying to engineer your behavior, stop leaching off the community and buy your underlying components. The GPL exists for a reason. Every so often, some cheap bastard complains about it because he can't make a quick buck by ripping someone else off. Tough. That's why it's there. You want to use my work on this? Give me yours in exchange.
- Stratoscope 15y ago> Businesses have a fiduciary responsibility to maximize shareholder profits. If you're selling software, that means minimizing costs and maximizing income. It is the legal obligation of a company to take any permissively licensed code it can get its hands on and thinks will speed things up, extend it a little, and sell it. This is not true. First, not every business is a corporation or has shareholders. Second, fiduciary responsibility does not require maximizing shareholder value (or profits). This has been explained several times here on HN and elsewhere by people who know much more about it than me. Here's one good explanation and discussion: http://www.linkedin.com/answers/law-legal/corporate-law/corporate-law/LAW_COR_CRL/834796-1078684 http://www.linkedin.com/answers/law-legal/corporate-law/corp... Excerpt: "...there is no law stating that the purpose of a corporation must be to maximize shareholder return. The corporation’s purpose may be any legal purpose, chosen by the creator and/or the shareholders. There is no requirement of law that profit or the maximization of value or return must be paramount or even on the list of objectives. The overwhelming majority of U.S. corporations have in their articles of incorporation an article stating that the corporation shall have the right to engage in any legal activity."
- shawndrost 15y agoI met these guys last night, and I'd really recommend you write them before you let the GPL stop you from developing software using Meteor. It sounds like they'd be happy to license it otherwise to anyone that wants to use it now, but they don't want to neuter their monetization for all the people that sign up later. (If I were them, I'd formalize that fact and dual-license for early adopters to bootstrap their community.)
- mindslight 15y agoIt's quite entertaining to see "Proprietary Software 2.0" developers complaining about finally being affected by a requirement of Free Software.
- cek 15y agoWe started digging into Meteor this week (we are using Node.js with express/LazyBoy etc... now) and were really excited about it. But now, this has created FUD for us. It's all so complex and confusing at a time when we really just want to be writing code. Our startup is not far enough along to know for certain what licensing terms make sense. I can't believe we will be alone in having this reaction. Which is a shame because Meteor had such a chance of being a real big thing.
- markh 15y agoThis has all the makings of a 'KDE vs Gnome'-like battle. For those not around at the time, a quick refresher: KDE was launched to applause and was based on a (then) restrictive Troll Tech license (for its QT library). This restrictive license lead directly to the creation of the Gnome project and so we saw a very promising desktop environment lose momentum and support as community resources were diverted to reinventing the wheel with Gnome (IMHO). Yes, we have more choice now in the world of Linux desktops, but I still believe hundreds of man years were wasted and the Linux desktop effort set back years, due to Troll Tech's choice of license. Of course, Troll Tech finally realized the error of their ways, but as history clearly shows us, it was too late. So, does Meteor want to risk being a KDE (or even Svbtle) and have the community praise it for their ideas and invest huge amounts of time reinventing the wheel, or do they want to harness the unstoppable momentum of the developer community?
- debergalis 15y ago[I'm one of the Meteor authors.] We released under the GPL Tuesday because our single goal was to share our work and direction of thinking with everyone. We hoped to spur a discussion about new ways to build apps that dramatically changes the skill sets required and the time it takes. We look at Meteor as part of an exciting transition from LAMP to a new architecture of rich client applications (see also http://www.firebase.com/ http://www.firebase.com/ that launched yesterday!). That's still the main focus for now. Hundreds of developers have deployed apps to meteor.com. We've got pull requests for new features to sort out, and many technical questions to answer. There's a whole buffer of screencast ideas we want to do. The four of us are a company. We intend to make money while committing ourselves to an open-source strategy. We want to see great software -- not just ours -- be something developers can sell. So while we'll give away much of what we build, we'll also look for places where developers who gain benefit from Meteor can give something back. We did not expect such strong interest in writing closed source commercial apps this quickly on the platform. It's clearly something we have to sort out faster than we thought, and we will. For now our offer stands: please just write us if you need a commercial license for a closed source project and we will find a way to accommodate your needs. I'd imagine over the next couple weeks we'll have more concrete things to say.
- tjogin 15y agoSounds good. I just want to add that sometimes it's not about "wanting to write closed source apps", sometimes it's more complicated than that. Like, the app integrating with other systems that can't be GPL'ed, or just lawyers not willing to take a chance in cases where it's not immediately obvious what's GPL compatible. Sometimes companies who love and contribute to open source just can't use GPL'ed software, for technical reasons, for lawyer reasons, for FUD, etc. I, for one, think it would be an awful shame for your cool tech to not achieve the adoption it deserves, just because of GPL.
- koko775 15y agoI think you're turning this too corporate too soon. At this stage your most powerful evangelists will be hobbyists and spare-timers. When I write code, I like to write it open-source. Setting the obviously negative connotation aside, it is objectively true that the GPL code, compiled or no, is a license virus that spreads so fundamentally that linking with non-GPL-compatible code violates the terms. Because the distinction between client and server code is blurred, this makes the territory murky and introduces overhead into the developer's mind as to whether what is being written can ever be open-sourced or not. --- Besides dampening enthusiasm for using Meteor, this can also reduce the quality and usefulness of modules being released. This sounds counter-intuitive, but consider the following hypotheticals: Company A develops and maintains a production-ready module that is especially useful for anyone using Meteor. However, the legal department says that the company cannot release software under GPLv3 (this is common). Company B and Person Z want to use it, the former with a commercial license, the latter with a open-source license. Because Company A cannot release the module under a permissive license, they can 1) Release it permissively but in a GPL-incompatible license, thus banning all Person Z's from developing open-source software with it legally, 2) Opt not to release it at all to Person Z, and just license it to Company B. 3) Abandon Meteor for something they can both release openly (to give back and get more eyes and hands) and develop in-house. Company C uses a closed-source library, because they're required to use it because it's the only one out there, and they're contractually obligated because that's the business they're in. They use Meteor to get the project off the ground and they never move off, because it's what they know and are good at. Company C can never write, for example, a white-label platform to distribute to Company X and Company Y, because at best they could only distribute the platform sans non-GPL parts. And while the licensing is viral, the understanding of it will not be. So it may lead to GPL violations down the road because Company X didn't understand, and Company C may be holding the bag. Legal doesn't want the company to take the risk and assume liability, so it says "no" and kills the project's use of Meteor. Company D thinks about the hypothetical case of Company C, only it was just founded and is looking at Meteor. Maybe it was founded by Person Z. Because of the hypothetical of Company C, and because Company D doesn't know what their business is yet, they decide to avoid a potential future nightmare and write their own framework. Maybe they open-source it, because it's compelling and useful, and they want to get as many eyeballs and hands on it as they can, improving it. --- tl;dr I was super-excited about Meteor, but now that it's GPL I will not be touching it with a ten foot pole. I am really sad about this. Because I value developer freedom, I do not use GPL'd code in my projects, even if it is objectively good. Because I support open-source, and want to give back when I can I do not want use Meteor with a commercial license. So because of your choice of license - and for no other reason - I can not and will not use Meteor.
- eaurouge 15y agoNokia faced a similar problem after they bought Trolltech (creator of Qt). How to increase adoption and encourage community contributions. They opted for LGPL which, as mentioned elsewhere in the comments, allows proprietary software to link to the Qt source.
- webjprgm 15y agoI dislike GPL because it makes business decisions (licensing concerns) get in the way of any and all programming. Sometimes I make a lib that I want to use for myself, proprietary but not profit making. Sometimes I later want to use that library in a consulting project (now it's profit making). In general, I don't know whether all the desired end uses of my code will be commercial, open source, or just simply code I use personally but don't want to release. (I believe the GPL triggers upon release/distribution of software, right? If I keep my modified version on my local system and don't sell it or ship it then there's no conflict. However, using it on my personal machine to serve up a publicly accessible website, I believe, also triggers it. Since lots of my "personal" code gets used on my personal, non-commercial, web site, I stay away from GPL even when I think I'm never shipping a piece of code.)
- rcthompson 15y agoAm I missing something here? My understanding is that when you use GPL software in your product, you are not required to GPL your own code unless your code and the GPL code are compiled into the same executable that is distributed to the user. Looking at the Meteor website's front page, I don't see anything that suggests it compiles your code and its own coffee into a single executable, so I don't think that using it would require you to GPL anything except possibly any customizations that you make to Meteor itself. Obviously this is not legal advice, and may in fact be the delusional ramblings of someone who has no understanding of the GPL. But please enlighten me if I'm wrong.
- alecco 15y agoOriginal authors have the right to license their code whatever way they please. This kind of article is disgusting. If it were a proprietary license nobody would raise a finger. HN is a very hypocritical community.