[HN Gopher] A new home and license (AGPL) for Synapse and friends
       ___________________________________________________________________
        
       A new home and license (AGPL) for Synapse and friends
        
       Author : regularjack
       Score  : 112 points
       Date   : 2023-11-06 13:25 UTC (7 hours ago)
        
 (HTM) web link (element.io)
 (TXT) w3m dump (element.io)
        
       | phoronixrly wrote:
       | How refreshing, an open-source company choosing the AGPL instead
       | of some contrived homebrew license!
       | 
       | I welcome this change - as I've stated multiple times here, we
       | need more AGPL-licensed software!
        
         | Macha wrote:
         | AGPL+CLA that assigns copyright to them. So element can do
         | anything but others are held to the AGPL.
         | 
         | I mean, it's better than SSPL, but considering how heavily
         | they've marketed in the past on matrix being truly open, it's a
         | little disappointing that they've chosen to go to asymmetric
         | openness.
        
           | hedora wrote:
           | The asymmetry only lasts as long as their branch is better
           | than some community fork.
           | 
           | That's approximately as long as we have between now and when
           | they stop investing in improving the end user experience.
           | 
           | This is pretty close to ideal IMO.
        
           | Pannoniae wrote:
           | I don't think SSPL is worse than AGPL in practice, in fact it
           | is better.
           | 
           | The SSPL is effectively a stronger AGPL. This makes it non-
           | OSI-approved, but the licence itself is completely fine. The
           | major difference is that the SSPL also mandates that you
           | release _everything_ needed to run the software, not just the
           | software itself.
           | 
           | For reference, it's worth to read the OSI's blogpost about
           | this, it's quite _illuminating_ :
           | https://blog.opensource.org/the-sspl-is-not-an-open-
           | source-l...
           | 
           | It's also worth mentioning that most of the attacks against
           | the GPL, AGPL and SSPL are done by corporate shills, and OSI
           | is also full of them. They pretend to support "non-
           | discrimination of fields of endeavour" but they are
           | undermining free software to SaaS-ify it. Don't fall for the
           | "SSPL is not open source" propaganda.
        
             | RobotToaster wrote:
             | >The major difference is that the SSPL also mandates that
             | you release everything needed to run the software
             | 
             | Which makes it incompatible with little things like the
             | linux kernel, since you don't have the licence to release
             | it as SSPL
        
             | fweimer wrote:
             | The additional restrictions in the SSPL apply also to
             | unmodified versions. This is very different from the AGPL,
             | which does not impose any additional over the burdens over
             | the GPL if you use an unmodified version of the software,
             | even if you use that to offer network services. This
             | provides a very clear path to AGPL compliance for most
             | users, certainly those who get their software from a
             | GNU/Linux distribution. (I missed that aspect of the AGPL
             | for quite some time, admittedly.)
             | 
             | The SSPL, in contrast, applies to unmodified versions of
             | the software. This means that even if you get SSPL software
             | from someone who publishes the sources, you have to take
             | additional steps for license compliance if you want to use
             | the software. Given that the SSPL requires publishing
             | things like the source code for NIC and network switch
             | firmware (both are obviously required for offering your
             | network service ...), I just don't see how this license is
             | useful besides being deceptive. The BSL with its typical
             | field-of-use restrictions achieve the same thing in a much
             | more direct manner.
        
             | cxr wrote:
             | > most of the attacks against the GPL, AGPL and SSPL are
             | done by corporate shills, and OSI is also full of them
             | 
             | To underscore something important in this discussion: there
             | is no "The GPL is Not an Open Source License" post on the
             | OSI blog, nor will there ever be one. GPL and AGPL have OSI
             | approval.
        
           | csdreamer7 wrote:
           | And?
           | 
           | If they are doing most of the development they need a way to
           | finance that.
           | 
           | Selling GPL exceptions is a Stallman approved tactic.
        
             | cxr wrote:
             | He approves of developers selling GPL exceptions. He
             | doesn't approve of buying GPL exceptions*. It's a subtle
             | point.
             | 
             | (The natural corollary to this is that if the
             | Element/Matrix folks--or anyone--were to ask you for a CLA
             | excepting them from the project's own open source license,
             | then you could/should feel comfortable kindly requiring
             | them to pay you for it--a response which should be the
             | default in the open source world, although it unfortunately
             | is not.)
             | 
             | * i.e. so you can make proprietary software
        
           | ladyanita22 wrote:
           | Agreed, I am not a fan of AGPL, but I could understand and
           | accept it. Not with the CLA. The CLA means you'll have to pay
           | for whatever you want privately developed.
        
         | alwayslikethis wrote:
         | As an additional plus, I think many SaaS companies (e.g.
         | Google) ban the use of AGPL software on their company
         | computers. The more advantages we can give to non-big tech
         | developers, the better.
        
       | ChrisArchitect wrote:
       | [dupe]
       | 
       | More discussion on the blog post over here:
       | https://news.ycombinator.com/item?id=38162514
        
       | tommiegannert wrote:
       | > We believe in open source because it encourages innovation
       | 
       | Sorry, but I was not amused when Dendrite decided to stop
       | accepting PRs because they are a small team. That is far from
       | encouraging innovation. To me, it seemed like lacking in
       | sustainable FOSS management. PRs I sent were rewritten, squashed
       | and merged by the Dendrite team, instead of them just doing
       | reviews and asking me to fix what they considered
       | unfitting(substandard/wrong.
       | 
       | I never thought I'd say that a FOSS team is doing too much work,
       | but it seems to me they burned out for some reason. I can only
       | speculate as to the cause. Changing the license is not going to
       | fix that problem.
       | 
       | Anyway, I'm still an active Matrix user, and am grateful for all
       | the work they do put into the projects. I just thought it was
       | more fun to be able to contribute.
        
         | zzzeek wrote:
         | > PRs I sent were rewritten, squashed and merged by the
         | Dendrite team, instead of them just doing reviews and asking me
         | to fix what they considered unfitting(substandard/wrong.
         | 
         | Core devs rewriting and fixing up PRs typically saves a _ton_
         | of development effort. We field lots of PRs and while I make my
         | best effort to hold their hand to get tests written and such,
         | at some point it 's intensely wasteful of everyone's time to
         | have five, six back and forths trying to get the person to
         | write the test case you are telling them to, which you could
         | write yourself in 90 seconds. never mind then getting
         | contributors to write good docs, good changelog notes in the
         | format your project uses, etc. I'll give them one shot for that
         | stuff then I just do it, I really don't have time to "train a
         | new employee" (who doesnt even _want_ to be trained, they just
         | want their one-line fix) for every single one line change.
        
       | exabrial wrote:
       | I do appreciate _not_ using some home made license, thank you.
       | 
       | Personally though, I find the AGPL too restrictive for projects.
       | The [OSI Certified] EUPL I think is perfect:
       | 
       | * If you don't modify the code: Behaves like the ASL2.0
       | 
       | * If you do modify the code:                   * Behaves like the
       | LGPL in that your private codebase remains private, but changes
       | to the library must be submitted back during a 'distribution'
       | event              * Behaves like the AGPL: Offering a service
       | that uses the library counts as a 'distribution'
        
         | tristan957 wrote:
         | I've never heard of this license before. Thanks for pointing it
         | out.
        
         | robertlagrant wrote:
         | The last point I never understand. E.g. take Redis if it were
         | licenced in that way: where is the line where it counts as a
         | service? Directly exposing a Redis port? Putting a REST API
         | over the top of it and selling a cache as a service? Making a
         | paid for JWT invalidation service that's basically a small
         | application layer of Redis? Or something else?
        
           | exabrial wrote:
           | I suggest reading the license as IANAL... but my
           | understanding is all three of those would count as a
           | "distribution" event.
           | 
           | Keep in mind, you would only need to "make source available"
           | if and only if you modified Redis. And even in that case, you
           | only have to submit the modifications to Redis. So even
           | though a "distribution event" is happening, if there are no
           | changes to the Redis server or client library itself, you're
           | compliant without doing anything else.
           | 
           | So yeah, all things considered, it'd be a great license for
           | Redis in my opinion.
        
         | benatkin wrote:
         | This web page tells me they really don't want you to read the
         | license.
         | 
         | https://commission.europa.eu/content/european-union-public-l...
         | 
         | You have to go to a list of languages, and then once you find
         | English on the list it gives you a PDF or text, no HTML
         | version.
         | 
         | I read it, and I think the exception allowing for compatibility
         | with the MPL would allow me to pretty much do what I want with
         | a larger work, as long as I release changes to the code files,
         | and shipped it with some MPL code. It says that where the
         | license conflicts, the compatible license prevails. I'm also
         | not convinced that the Distribution section behaves like the
         | AGPL: https://opensource.stackexchange.com/a/12298
        
           | exabrial wrote:
           | https://joinup.ec.europa.eu/sites/default/files/custom-
           | page/...
        
       | jordigh wrote:
       | > or by contacting Element for an alternative license
       | 
       | Ah, selling exceptions. Even Stallman thinks this is legit.
       | 
       | https://www.gnu.org/philosophy/selling-exceptions.html
        
         | mgbmtl wrote:
         | A long time ago, I remember a MySQL talk where they explained
         | dual-license as "if you make money, then we make money", while
         | keeping the product FOSS.
         | 
         | I think it's a reasonable simplification.
         | 
         | And if the company changes the licence, then a A/GPL fork can
         | survive (c.f. Hashicorp, which could have probably avoided
         | their issues with a better licence from the start, but at the
         | time no one expected to be eclipsed by big cloud providers with
         | infinite resources).
        
         | Cu3PO42 wrote:
         | While I don't agree with everything Stallman says and does, I
         | really do appreciate that his position on this issue is not
         | just another axiom, but follows purely from other positions he
         | had already established.
        
       | WhyNotHugo wrote:
       | So AGPL+CLA:
       | 
       | > The benefit of switching to AGPLv3 is that it obliges
       | downstream developers to contribute back to the core project -
       | either by releasing their modifications as open source for the
       | benefit of the whole Matrix ecosystem, or by contacting Element
       | for an alternative license. Future code contributors to Synapse
       | will need to sign a contributor license agreement (CLA)
       | 
       | This makes it clear that they intent to ship under some
       | alternative license, for a fee. They're making others sign an
       | agreement to ensure that they have privilege to ship the project
       | (or forks of it) under a proprietary license.
       | 
       | I wouldn't consider any of this open source any more. These are
       | step that a organisation takes when they want to move to an open
       | core model and screw over the community. What they are doing is a
       | required step to pull the same stunt as terraform.
       | 
       | It's technically still open source today, but this consolidates
       | them into a position to change this at will. Don't be fooled by
       | the tricky wording that makes this sound like a good thing. These
       | folks are very unambiguously screwing over the community and
       | making it sound otherwise.
       | 
       | As usual, remember to never sign a CLA.
        
         | progval wrote:
         | > This makes it clear that they intent to ship under some
         | alternative license, for a fee
         | 
         | They already did, as the Apache License allows them to.
        
           | pgeorgi wrote:
           | The difference is that so far, everybody was allowed to do
           | that. With that change, only they can do that (with new code
           | going forward). And ask developers to jump through hoops for
           | the privilege.
           | 
           | That _might_ be the best option for Synapse etc, but it
           | should be clear what they're offering.
        
         | dm319 wrote:
         | Isn't this the case for any GPL-like license? Anyone wanting to
         | build commercial software based on GPL-licensed code has a
         | choice - either publish the full source code, or try to
         | negotiate a closed source license with the copyright holder.
        
         | emersion wrote:
         | Related: https://drewdevault.com/2023/07/04/Dont-sign-a-
         | CLA-2.html
        
         | abdullahkhalids wrote:
         | What are your thoughts on Stallman explicitly saying that
         | selling exceptions is fine [1]?
         | 
         | [1] https://www.gnu.org/philosophy/selling-exceptions.html
        
           | benatkin wrote:
           | > I wouldn't consider any of this open source any more.
           | 
           | Stallman's term is "free software", this said "open source".
           | 
           | I use OSD to define it, so I consider it technically open
           | source, but to me it's open source that isn't under an
           | acceptable license.
        
             | ralmidani wrote:
             | Free Software and Open Source are essentially the same
             | thing, just looked at from different angles.
             | 
             | https://www.gnu.org/philosophy/open-source-misses-the-
             | point....
             | 
             | "In practice, open source stands for criteria a little
             | looser than those of free software. As far as we know, all
             | existing released free software source code would qualify
             | as open source. Nearly all open source software is free
             | software, but there are exceptions."
        
               | benatkin wrote:
               | Not to me it doesn't. When the thing is a movement in the
               | software community, the perspective changes the essence
               | of the thing.
        
               | ralmidani wrote:
               | You're free to adopt whichever perspective you prefer.
               | But Free Software is always Open Source. That's an
               | objective fact.
        
               | tcfhgj wrote:
               | The way around isn't true though, which you claimed when
               | you wrote is essentially the same
        
               | fsflover wrote:
               | The difference is that open-source forces you to think
               | about code, whereas free software about your freedom.
        
             | phoe-krk wrote:
             | The term you're looking for is "permissive". It is open
             | source, but it is no longer as permissive as it was.
        
               | benatkin wrote:
               | I know that term, but I don't think it's that much more
               | clear. When someone forks the code and makes changes but
               | doesn't contribute it back to the community, them having
               | been allowed to do that is more permissive. However, what
               | outsiders can do with their changes is less permissive.
               | 
               | There's no shortcuts to making a nuanced topic much more
               | clear.
               | 
               | However, it is a frequently used term, so it's useful for
               | quickly referring to these licenses.
               | https://en.wikipedia.org/wiki/Permissive_software_license
        
           | saagarjha wrote:
           | Stallman's point (which I largely think is a cop out, fwiw)
           | is that the goal should be that the software remains free,
           | and that making small compromises to further that goal is ok.
           | Repositioning your software to be nominally free but actually
           | picking a license that maximizes the chance that people pay
           | you for a proprietary version goes against this spirit,
           | because it's clear that you don't actually have software
           | freedom as your priority.
        
             | kiba wrote:
             | If the proprietary version is what they prefer over free
             | and open source software, and which they are not allowed to
             | distribute and modify, and which are otherwise completely
             | identical, it's no skin off my back.
             | 
             | If they don't want freedom for themselves, that's on them.
        
             | cxr wrote:
             | > Stallman's point (which I largely think is a cop out,
             | fwiw) is that the goal should be that the software remains
             | free, and that making small compromises to further that
             | goal is ok.
             | 
             | Mm, that doesn't really summarize (or engage with)
             | Stallman's thinking on the matter.
             | 
             | Stallman's position is that if it is perfectly ethical for
             | someone to license their research under e.g. BSD, MIT/X11,
             | or a license that is similarly permissive, and it is (of
             | course) ethical to license it under GPL, then it is not
             | _more_ unethical to go with something which sits in between
             | the two (copyleft for some, permissive for others).
             | 
             | To put it another way: if Alice picks a GPL-compatible,
             | free software license like Apache 2.0, and then Goog makes
             | something proprietary out of it, then Goog is being
             | unethical, not Alice. If Goog does the same thing _and_
             | gives Alice money, then nothing changes except the bad
             | actor has less money and the good actor who created the
             | software and made it libre has more money.
        
             | jenadine wrote:
             | If you didn't have software freedom as a priority, then why
             | even pick an open source license? To me they are trying to
             | find a way to make a living, while still working on free
             | software. It seems to me like a win-win situation: users
             | get more free software, and they get to pay their bill.
             | This is not always possible with every kind of software or
             | business model though.
        
               | jacobr1 wrote:
               | AGPL is a more free license than BSL, which is the most
               | likely alternative for a company like Element.
        
         | mrob wrote:
         | Are permissive licenses also "screwing over the community"?
         | Those also allow third parties to use the code in proprietary
         | software. What difference does it make to the community if
         | Element gets paid for this?
        
           | fabrice_d wrote:
           | Yes using permissive license allows businesses to take unfair
           | advantage of the work done by the community for their own
           | profit without contributing anything, but it's explicit in
           | the license terms. When you go with *GPL + CLA, it's more
           | subtle: bad things can happen, but pinky promises are made
           | that won't be the case. We've seen that movie before of
           | course.
           | 
           | As a community contributor, I may not want my contributions
           | to be used to enrich a corporation that doesn't give back to
           | the commons.
        
           | LaGrange wrote:
           | Yes. That's why you shouldn't contribute to software on
           | permissive licenses.
           | 
           | > What difference does it make to the community if Element
           | gets paid for this?
           | 
           | Without that, Element would have to either pay people their
           | fair share, or _leave_. They're not a charity, they're not
           | doing this "for us," they're just extracting free labor.
        
             | kragen wrote:
             | probably you should only sign the cla if they pay you
             | enough
        
             | tensor wrote:
             | Personally I would never contribute to AGPL software. I
             | don't want my contribution to forever be stuck in some
             | political movement.
             | 
             | I do contribute to permissive licensed software.
        
         | lrvick wrote:
         | > I wouldn't consider any of this open source any more.
         | 
         | If this was BSL I agree with you, but that is not the case.
         | 
         | AGPL is about as open source as it gets. It is forced open
         | source.
         | 
         | I recommend AGPL to any of my clients open sourcing anything in
         | a competitive environment these days. Free for the public, but
         | greedy corpos that do not want to share changes and be part of
         | the community are forced to pay to support the developers that
         | are.
         | 
         | This AGPL working as designed, and is certainly FLOSS.
        
         | david_draco wrote:
         | > I wouldn't consider any of this open source any more.
         | 
         | If you sell someone a AGPLv3 licensed software, that is
         | completely okay and FOSS. If that someone sells someone else a
         | (maybe modified) AGPLv3 licensed software, that is completely
         | okay and FOSS.
         | 
         | Not only Matrix can resell Element for a fee, so can you! That
         | is open source and freedom for you.
         | 
         | The ability to change or dual-license has always been limited
         | to special circumstances. That said, yeah, don't sign a CLA.
        
           | dingnuts wrote:
           | No, the Affero GPL is not "FOSS". It is Open Source but it is
           | NOT libre because of the additional requirements (forced
           | upstream contributions even on unreleased modified versions
           | of the upstream software) imposed on potential forks of the
           | project.
           | 
           | Affero GPL is the premier tool of "open source" corporations
           | to confuse potential contributors into THINKING that the
           | project is FOSS and in order to trick them into giving up
           | their labor for free.
           | 
           | Don't fall for it! If someone wants you to contribute to an
           | AGPL project, you should ask: how much will you pay me for my
           | labor?
           | 
           | The AGPL is the single best example of the difference between
           | Open Source and Libre software. The AGPL is so restrictive
           | and grants so much power to the original rights holder that
           | it is really a source available proprietary license.
           | 
           | Stop giving your labor to for-profit companies for free! It
           | screws all of us!
           | 
           | HEY DOWNVOTERS SHOW ME WHERE I'M WRONG IN THE LICENSE
           | 
           | I quit a job over this stance, because I won't contribute to
           | this farce. But Element lovers downvote because they like
           | being exploited and won't even comment to show me why I'm
           | wrong about this
        
             | FireInsight wrote:
             | From the FSF:
             | 
             | > The GNU Affero General Public License is a modified
             | version of the ordinary GNU GPL version 3. It has one added
             | requirement: if you run a modified program on a server and
             | let other users communicate with it there, your server must
             | also allow them to download the source code corresponding
             | to the modified version running there.
             | 
             | I don't understand how this corresponds with anything you
             | are saying.
        
               | dingnuts wrote:
               | It says if you modify the code you must distribute it.
               | That means if, for instance, I wanted to modify Synapse
               | to satisfy my users, for instance a bespoke
               | authentication backend, I would be FORCED to release and
               | distribute that change.
               | 
               | This is NOT the way the GPL works, because the AGPL
               | forces you to make your change available to the parent
               | corp so that they can benefit for free from your labor.
               | The GPL only forces you to make your source code
               | available if you plan to distribute it. The AGPL makes
               | that requirement for even USING server software. It is
               | not the same, at ALL!
               | 
               | And it's right there in what you quoted -- what part
               | don't you understand about "must make available for
               | download the source code"?
        
               | FireInsight wrote:
               | Oh, so modifying and releasing source code automatically
               | makes you sign the CLA and contributes those changes back
               | to the parent project? I'm not seeing how forcing
               | modifications to libre software be published as libre
               | software is a bad thing.
        
               | Brian_K_White wrote:
               | It's GPL3 with a server technicality loophole closed. If
               | you think that's intolerable, I think it just did it's
               | job in protecting the authors and everyone else from you.
        
               | callahad wrote:
               | > _the AGPL forces you to make your change available to
               | the parent corp so that they can benefit for free from
               | your labor_
               | 
               | I think you're missing a crucial nuance here. You have to
               | make your change available _under the AGPL._ So the
               | parent corp _cannot_ use your modifications in
               | proprietary offerings unless you separately and
               | voluntarily sign a licensing agreement.
               | 
               | This grants you _power_ over the parent corp: if they
               | want your changes, they either need to keep them
               | equivalently open, or they need to come to an agreement
               | with you.
        
         | Loic wrote:
         | I way prefer them to do that than them to close their shop.
         | They do all the development and then you have some big software
         | development providers selling solutions for millions of EUR to
         | government agencies and they get nothing out of it. That at
         | some point they consider that a part should go back to them or
         | if no money some code is fair.
        
         | josephcsible wrote:
         | > I wouldn't consider any of this open source any more.
         | 
         | I agree with most of your comment, but not that.
        
       | lol768 wrote:
       | Nice to see AGPL instead of something like the increasingly-
       | popular (non-FOSS) BSL. Copyleft licenses are great, I've seen
       | too many examples of permissively-licensed libraries being taken,
       | worked on by corporations and profited from without any bug
       | fixes/improvements being upstreamed.
        
       | ralmidani wrote:
       | It's awkward to ask people to assign everything to you in a way
       | that makes you the only entity that can sell AGPL exceptions. If
       | contributors are paid for their contributions that would be
       | awesome, but it's not clear that they are.
        
       | benatkin wrote:
       | I just uninstalled Element from my phone. Matrix long marketed
       | itself as being truly open. Now they've taken the core server
       | project and made it asymmetric.
        
         | jenadine wrote:
         | Have you ever contributed anyway ? If not it was already
         | assymetric since you were just an user and they were providing
         | the software. Anyway, nobody forced you to use their software.
         | Your loss.
        
           | benatkin wrote:
           | I'm vindicated by not contributing :)
        
         | lrvick wrote:
         | And now they are -more- open. Did you misread their post? AGPL
         | is just forced open source.
        
           | benatkin wrote:
           | It's forced for those who can only use it under the license
           | (everyone except Element/Matrix). It isn't forced for the
           | copyright assignee (Element/Matrix).
           | 
           | That isn't more open to me.
        
           | proto_lambda wrote:
           | Forced open source for _everyone but them_. They retain
           | copyright and will continue to sell proprietary adaptions,
           | while forbidding everyone else to do the same.
        
           | Spunkie wrote:
           | AGPL is a misdirection, the CLA reveals what is likely their
           | true long term intentions.
        
             | benatkin wrote:
             | it starts with "clo" and ends with "urce"
        
       | regularjack wrote:
       | Why move the repos from the matrix-org GitHub org to Element's?
       | Feels like that's a step back in what concerns Matrix Foundation
       | assets being untangled from Element.
        
       ___________________________________________________________________
       (page generated 2023-11-06 21:01 UTC)