Hello. Autonomi’s license is GPL 3.0. Does that mean all apps using Autonomi API have to be open-sourced?
Check out the Dev Forum
Hello. Autonomi’s license is GPL 3.0. Does that mean all apps using Autonomi API have to be open-sourced?
Check out the Dev Forum
Pretty sure it does
Not saying it is then only solution, but an interface between the two code bases is sufficient to separate them, I believe. This is why linking exemption became a thing, to avoid chicanery.
In other words, putting say, a REST service between the libraries and the consuming app, is sufficient to seperate the applications. AntTP will facilitate that, if there are concerns.
Iirc, the linking exemption used to be specified though.
What @Traktion says is correct by my understanding. Note that dweb is AGPL which means that even a REST app needs to be GPL.
This is because I wish to support true FOSS ventures and ensure those who build with my code also share back.
Ha! Interesting!
I think we may have found a more fundamental difference between our apps!
I don’t mind what folks use AntTP for. More the merrier! Ha! If it helps to support new apps and spreads the word, I’m happy!
I hope some kind donations will help me to continue to improve and maintain AntTP in the future though. I have lots of ideas that I need to publish on a roadmap, come to think of it. Documentation keeps being neglected!
But you have to use the same license if you use GPL-licensed software?
I think you can always go more copy left, just not the other way, iirc.
I recall years ago, roughly 10, the licensing decision made was for core components to be GPL, and API/SDK layer to be MIT. That was to allow the network to be used by software with any variation of license, from free, to open-source, to proprietary.
That was a smart balance. If that’s changed that could be a strange regression. Could @dirvine perhaps clarify?
Right now, the autonomi
crate - the Rust client API - is indeed GPL-3.0 licensed. I was surprised when I noticed that. I expected MIT, Apache2, BSD or something similarly flexible for the client libs.
I think GPL is fair for the core components, nodes, etc. But for the client libs its too restrictive and a big (and frankly unnecessary) barrier to adoption.
Hope this gets changed soon.
We disagree.
I won’t engage in a debate but just wanted to say this, and that there are good reasons to choose copyleft over a fully permissive license.
It’s a no brainer to me that the price of benefiting from FOSS code should be a willingness to give back. Anything else is open to enclosure and parasitic business practices.
I let others use my code under AGPL and would like Autonomi to switch to that because it closes a loophole in GPL.
I don’t know why they switched each time, but they have been GPL, then MIT and now GPL again over the years.
Rust suggests a permissive license for APIs in its guidelines:
Yep, they are welcome to their opinions of course but they don’t have our interests at heart - because they havev different priorities - no matter how good a language and toolchain they have built
Perhaps the purpose of changing the plan for a permissively licensed API/SDK and GPL licensed core is to encourage a second, permissively licensed implementation of the protocol?
I’ve said it before elsewhere but allow me to add my voice in with Mark’s here - I’m very much in favour of whatever protective FOSS licensing is best in each given case.
The short version is that protective FOSS licensing guards against enshittification - which is simply a description of the usual proprietary software business model which for years has been:
Long version: as companies like Google, Microsoft, and Meta have realised over the last decade or two that they can use the commons to their benefit, licensing issues have come more and more to be framed as “restrictive” vs “permissive”. These two terms only make sense if you’ve already accepted the view of the world held by proprietary software businesses (who tend to operate as described above).
The “restrictive” GPL licences are the opposite of restrictive for users - in fact, they greatly increase the likelihood that a user will be respected. From a user’s perspective, they could be called the “liberating” or “user-respecting” licences. The “fairness-enforcing” licences. Instead, they’re called “restrictive” - which they very much are for software companies that want free labour, and not to be obliged to contribute back.
Similarly, the BSD/MIT licences are called “permissive” - and again, yes, they permit companies to lock down software and abuse their users. This is anti-user. Should we call them the “anti-user” licenses? The “contains-potential-to-abuse-customers” license?
Not all proprietary software leads to users being abused, but all proprietary software gives the company that option. It’s the sword of damocles over their heads. Many companies do not manage to resist, and who could blame them, the option is there, the advertisers and shareholders want satisfying.
And then my last point - it’s not like we’d suddenly be offering “traditional businesses” nothing at all. We’d be saying to them very clearly, we absolutely want you to come and provide value for users and compete in this marketplace, but there’s a “restriction” - the restriction is that you can’t abuse the users here, they’ve all sorts of new powers on our network and must be respected.
It’ll be very important to build in interoperability for that last point to really effectively be true, and remain true, but FOSS licensing is a great step in that direction.
Surely that’s a good message to be sending to businesses and individuals? And surely that’s the kind of network we want to be building?
I’m less philosophical about it
Permissive lets folks do as they please, including compiling and selling said code in any way they choose.
Removing the option for folks to do this, means they can’t use a traditional business model of selling software.
Both have their place. However, folks don’t work for free, including software engineers. That may make it harder to fund new apps, making Autonomi adoption harder in the process.
It does the argument no credit to frame permissive licensing as bad. It is just different.
What you label it as is subjective, but being able to take without giving back - which businesses, not being people - have no issue with is bad to me, and supports other bad behaviours such as described by JayBird.
I believe people have become too conditioned to accept those behaviours, so I am always keen to take options that let me push back.
Also, businesses are not prohibited from using and selling code based on copyleft licenses.
They are restricted, but can still sell it commercially, and services based on it. It does seem fair that benefiting from other people’s work should come with restrictions. Business certainly expects that from anything it ‘gives’ away.
Many businesses are increasingly abusive in their practices over time and it is because of this, people like myself prefer to restrict some kinds of use, while supporting those who are willing to give back as well as take.
There’s nothing to stop me using copyright to prevent all commercial use, but I’m ok with it so long as business is willing to give as well as take.
I think you’re almost purely philosophical about it, and that my points have no “philosophy” in them at all. You’re relying on fixed idealised notions of work and value and so on to argue for the system you’re used to.
I’m making concrete claims which I think are backed up by the evidence of reality. Here’s my concrete claims, tell me which part you disagree with:
To be clear, being pro-user (pro-FOSS, pro-protective copyleft licences) does not mean being anti-business. It never meant that, but happily, it’s easier to make that argument now than ever, as more and more companies experiment with different ways of making money - there are loads! Subscriptions, having large parts of your software fully FOSS but offering enterprise support, etc etc.
I’m just concerned with the practical element.
Lots of software is expensive to develop and is proprietary to turn a profit, to pay for developers.
I’d happily donate AntTP on a permissive license for folks to do as they please with. Sadly, I can’t, due to licensing on the autonomi client libraries.
However, at least GPL 3.0 means that web apps developed on top of AntTP are exempted from copy left. Time will tell whether this encourages more commercial development on Autonomi or not.
That’s a very crude aim and not something I’d use as a measure of success.
Less predatory abusive practices for example, may mean fewer businesses, but give those with ethical practices an edge. And indeed help individuals like yourself deliver better, more ethical services because abusive businesses don’t like it as much here.
There are many benefits to open source, but allowing anyone to take and exploit without restriction loses some important ones.
So it depends what your aims are, and what your measures of success are.
I too claim to look at this practically, but maybe we have different goals and different ways of seeing success.
One of the goals I have for Autonomi has always been to give individuals a level playing field compared to bigger businesses, in part because I think bigger businesses become far less caring about anything but profit.
I believe small is often better in the long run, so I’m hopeful there will be many small business like yourself finding new and better ways to operate using Autonomi - because Autonomi makes it harder to be abusive (easier switching of apps, services and providers, less enclosure/monopoly etc) and better for those who are ethical (easier scaling, less need for capital/VCs, open honest code and algorithms etc).
I think what Autonomi enables is finally a possibility of truly independent network applications. Open wikipedias, youtubes, googles, tinders and facebooks, that are developed and funded by community, without need for companies or even foundations, that keep passwords to domain management panels.
Maybe we are seeing birth of new paradigm, where you don’t need VCs or even DAOs + ICOs, that will later extract value from users. And I’m close to agreeing, that libre licenses fit here well. Perhaps this would happen even without restricting access to the created value to abusive business. I’d like to believe in this, but maybe it’s better to protect before shit happens?
On the other hand, my first experience with free software was through permissive licenses of software I used in my work, Java and Web ecosystems. I felt like I’ve received a great gift, and wanted to give back. Would it happen if not permissive licenses? I can’t tell. Also, that was in the past, and maybe times have changed now, I don’t know.
But I know I love the discussion