5 ms·
As someone who's been trying to figure out a good open source license for my software, I've had to remove AGPL from consideration. This is because I want compan
by tziki 6y ago
As someone who's been trying to figure out a good open source license for my software, I've had to remove AGPL from consideration. This is because I want companies to be able to use the software for their internal use but not be able to create a user-facing product out of it.
For AGPL, anything it links to must also be AGPL licensed. If a company such as Microsoft wants to use my project internally, they'd be taking on a huge liability. Does this mean any project that depends on my project needs to also be APGL licened?
Further, the terms on APGL are somewhat vague in a good-hearted attempt to prevent exploitation. What counts as 'use over a computer network'? If Microsoft developers use network disks to access my software are they screwed?
For now I'm (somewhat unhappily) considering MIT the only option.
- jfk13 6y ago> but not be able to create a user-facing product I don't see how the MIT license would help you achieve this.
- garmaine 6y ago> This is because I want companies to be able to use the software for their internal use but not be able to create a user-facing product out of it. Why do you think the AGPL can’t do this?
- tziki 6y agoThe reasons I've listed are the same reasons I've heard from people in the industry on why large companies don't generally allow AGPL.
- garmaine 6y agoOk, well just so you know, that's industry FUD. Anything that is internal to the company will never have to have its source code revealed. No external users, no distribution clause, full-stop.
- corobo 6y agoCould you not do them an enterprise license that removes whatever restrictions? They're not struggling for cash
- jarofgreen 6y agoOnly if AGPL is combined with some kind of contributor agreement system.
- deleted 6y ago[deleted]
- mkesper 6y agoThis is because I want companies to be able to use the software for their internal use but not be able to create a user-facing product out of it. Why shouldn't this be possible?
- teddyh 6y ago> I want companies to be able to use the software for their internal use but not be able to create a user-facing product out of it. The AGPL absolutely allows this.
- StreamBright 6y agoI think there are 3 things mixed together in your comment. - an enterprise wants to purchase your service - somebody wants to contribute to your project - a cloud company is trying to create a service using your code The solution is dual licensing for these. First use case is licensed under an enterprise license that does not have any AGPL like vague restrictions, still can block the company from launching a competing service The second and third use cases are perfectly fine with AGPL. I am not a lawyer but I think this is a viable solution.
- steerablesafe 6y agoIANAL, but I don't think AGPL or GPL are that viral. Companies of course are often conservative and they prefer not to touch GPLv3 or AGPL software at all.
- belorn 6y agoIf you want to consider the scope of agpl you first step is to consider the potential boundaries of a single work that are used over a computer network. Take HN as a website. Should every resource be seen as a seperate work or should a whole page be seen as one work. Is every sub page a separate creative work, or part of a work called HN. Is the search button, which is actually on its own seperate domain name part of the HN website? From there we can move forward like talking about middle layer and db layers and ask if those are part of HN or simply aspects which HN communicates with. Is the loadbalancer, database server, web cache, and so on part of the creative work called HN? Personally I would draw the line to be similar to traditional web development with presentation, logic and db abstraction defining the work in terms of a website, and everything around that being simply other works which the website communicates with. That however depend on the website being a classic website, rather than say an webified version of an application. A game, an office suit, a email client, all those might have a very different scope and what defines a game as a single work may be quite different from a website that display news items with comment threads. > if Microsoft developers use network disks to access my software are they screwed? That condition says that the terms of AGPL goes into effect if a use access a "derivative work" over the network. Microsoft using network disks internally does not matter, as that scenario does not have a defined user. If a user download a program over NFS then technically that is over a network but both AGPL and GPL would consider that "copying" in traditional sense.
- enriquto 6y ago> I've had to remove AGPL from consideration. This is because I want companies to be able to use the software for their internal use but not be able to create a user-facing product out of it. That's the whole point of the AGPL, isn't it? This license solves exactly the problem that you want to solve. They can use your AGPL software internally as much as they want, without restrictions. But if they create a user-facing product out of it, they must make their modifications available to everybody under the same terms. (EDIT: changed you/they on the second paragraph)
- orlandohill 6y agoThe Polyform Project has some source-available licenses that might suit your needs, particularly Internal Use, Perimeter, and Shield. https://polyformproject.org/licenses/ https://polyformproject.org/licenses/
- npteljes 6y agoThese are not recognized by either the FSF [0] or the OSI [1], so I don't know if they are open-source enough for OP. [0] https://www.gnu.org/licenses/license-list.html https://www.gnu.org/licenses/license-list.html [1] https://opensource.org/licenses/alphabetical https://opensource.org/licenses/alphabetical
- orlandohill 6y agoThat's why I said they were source-available.
- deleted 6y ago[deleted]
- npteljes 6y ago>For AGPL, anything it links to must also be AGPL licensed. Not a lawyer, but with internal usage, anything goes as far as the AGPL license is concerned. The restrictions only kick in if they plan to distribute the software, or publish a remotely accessible interface to the software. I'm inspired by two particular resources regarding this [0][1] [0] https://opensource.stackexchange.com/questions/1399/can-gpl-licenced-software-be-used-in-corporate-environments https://opensource.stackexchange.com/questions/1399/can-gpl-... [1] http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePos...
- ghaff 6y agoThe theory behind the AGPL is pretty much to allow the use you describe. That said, there really isn't precedent that nails down what network interactions constitute distribution. The biggest practical effect is that a lot of companies (both software vendors and end users) simply don't allow the use of AGPL code. So (not legal advice) your issue isn't so much that a service provider will make a user-facing service out of your code. But that many won't touch it at all because of the AGPL license. Also note though that someone can offer a user facing service using AGPL code, they just have to distribute any other code that is part of the overall work. (Which is what a couple of the new usage-restricting non-open source licenses seek to prevent.)
- merb 6y ago> they just have to distribute any other code that is part of the overall work which basically should not be a lot, if you do not make any modifications? i mean if I create a docker container and put them into k8s I robably only need to open source the docker container and maybe even the deployment.yaml/helm charts/whatever but thats it, everything that communicates with it via http/external interface that is not linked does not need to be open sourced.
- crazypython 6y ago>For AGPL, anything it links to must also be AGPL licensed. It can link against GPL software: "Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License."
- crazypython 6y ago(I think this means it can also link against software that is MIT, because you can GPL MIT work.)