Hacker News new | past | comments | ask | show | jobs | submit login

If you go with copy-left you automatically disqualify some major institutions from using your software. Especially for a community based project, there may be institutions that want to make proprietary extensions so it can integrate better with their existing infrastructure.

Generally I think MIT is a good default and you should only use a different license if you have a strong case for why MIT doesn't make sense for your project.




As the author you can always re-release the code under MIT but once it's released under MIT corporations can whole sale rip your work off for their own profit. If you keep it closed source or GPL it then you maintain some breathing room from another company just swooping in and monetizing you code for their profit.


On the other hand, if you accept contributions while under a strict license like the AGPL but then decide to go MIT, you'll have to ask each contributor to relicense his or her work or remove that work altogether.

OP, if you see your project switching licenses down the road, you might as well look into CLAs, a whole other can of worms, or just stick with the least restrictive license that achieves your goals. I'd personally use LGPLv3.


> If you go with copy-left you automatically disqualify some major institutions from using your software.

For what it's worth, I think there's reasoning to consider it on a project-by-project basis. An example might be how XMPP more or less became a bunch of walled-garden forks for various messengers like Google Chat and Facebook. I think Linux thrived with the GPLv2's copyleft being a "sweet spot" for them.


MIT licensing is also how entities like Amazon get away with pillaging OSS.

I think you have a real product here and would caution you against releasing the source code.

If you do want to open source it, I highly recommend GPLv2 or 3.


> If you do want to open source it, I highly recommend GPLv2 or 3.

This is solid advice for client software. However for software to run on the server side, AGPL providers better protections to ensure further developments remain free (copyleft).


While the AGPL would ensure that developments remain free, it will also ensure that most entities (commercial and non-commercial) that need tight integration would not touch it with a 10 foot poll.

The choice of license really depends on what the OP aims to achieve with his software.


> it will also ensure that most entities

That is simply not true. It may be true for huge corporations with legal counsel spreading FUD. But why should we care about these people ruining our lives? They're already destroying the planet and making sure millions of people are enslaved in the mines/factories across the third world, and we should provide free work for them?!

Interesting entities (libraries, schools, associations, workers coops) will not care about the software license.


Unfortunately, it is. The AGPL exposes licensees to the extraordinary risk of having to disclose any private internal/infra code that integrates with it and, more importantly, the legal and technical costs of doing so.

I assure you, even "interesting" entities care about this. Hell, even public institutions I worked for did.


In this case, wouldn't it be great if the big dogs picked up the tech and ran with it?


The same way Google and Facebook picked up XMPP and ran with it?


Remember that they failed though.


Looks dead enough to me in practice?


From my perspective that was a good thing. I still use Pidgin as my google hangouts client.


It was a good thing until they ruined it after increasing their strangle on the userbase. It would be sad to see the existing big guys get involved in Matrix to make it popular, only to corrupt it and close it off once it's served its purpose.


> you automatically disqualify some major institutions

No: it's their choice, and if they choose not to use GPL software it is evidence that they do not care about user and developer software freedom. And that they don't want to contribute back.

Also, "some major institutions" is very unclear. Google is ok with GPLv2 but not with GPLv3. Apple has restrictions on their app store.

Both companies are extremely unlikely to support decentralized communities anyways - they outright compete against them.


> If you go with copy-left you automatically disqualify some major institutions from using your software. Especially for a community based project, there may be institutions that want to make proprietary extensions so it can integrate better with their existing infrastructure.

This is still possible with GPL (and the AGPL, for that matter) by granting an exemption to the license for third-party extension software that is in the form of a plugin using a specific API.

It is worth noting that depending on the details of your (and the plugin's) implementation, such an exemption may not even be required.

This is probably a good place to start digging in to the topic: https://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins

But before anyone starts down this rabbit hole (the legal, social, and technical details of which I personally find fascinating, but YMMV), a maintainer should instead think about the things they want to allow, the things they want to forbid, and the things they want to be able to charge for. Also, which of the aforementioned things they want to provide strong guarantees for in the event of a change in ownership and/or a fork (eg. MySQL/Oracle, OpenOffice/LibreOffice, etc.).

But whatever the preferences are for a particular project, there almost certainly is a way to set those boundaries using a FLOSS license, and it is probably possible while using the GPL (but if you're leaning toward 'allow individuals and mega corps to do whatever they want', there isn't much sense in using the GPL as a starting point), though it is possible you might need a few additional tools for some scenarios (requiring a Contributor License Agreement or even copyright assignment for contributions, license exemptions for specific APIs, splitting out some shared libraries and releasing those under a different-but-compatible license, dual licensing, separate licensing for non-code assets, a nonprofit foundation, compatibility testing and associated badging & trademarks, etc.).

Anyway, there are a lot of tools available, and most of them can be grabbed when and as they're needed, if they ever are.

So, start with what you want in terms of permissions and boundaries, then ask for advice on enabling/enforcing that structure with a FLOSS license, and it can probably be done without too much complexity (assuming that it isn't incompatible with FLOSS, like 'This software cannot be used by the military or to support the creation of WMDs').


No you don't. Some institutions are stupid and have bureaucratic rules, but unless you need them it should not be your concern.

I don't know of any copy left license that prevents you from making JSON API calls from any source you want, so you can integrate something like matrix easily enough.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: