[HN Gopher] ImageSharp leaving the .NET Foundation due to licens...
       ___________________________________________________________________
        
       ImageSharp leaving the .NET Foundation due to licensing change
        
       Author : nozzlegear
       Score  : 69 points
       Date   : 2022-10-22 19:49 UTC (3 hours ago)
        
 (HTM) web link (dotnetfoundation.org)
 (TXT) w3m dump (dotnetfoundation.org)
        
       | dark-star wrote:
       | It's just a library handling image files. There are dozens of
       | others out there with similar functionality that are still under
       | OSI-approved licenses... I assume ImageSharp will lose a lot of
       | significance now...
        
       | ghuntley wrote:
       | This is a good outcome for James. This guy fucking smashes
       | academic papers out of hours to make ImageSharp possible. Folks
       | who aren't in the imaging space really have no clue just how hard
       | this shit is. Gl James.
       | 
       | tbh; dotnet foundation really doesn't provide much value to
       | member projects. See https://www.isdotnetopen.com for context.
        
         | TAForObvReasons wrote:
         | The entire situation is a bad outcome. From the article:
         | 
         | > The .NET Foundation accepts projects that use permissive
         | licenses within that set [of OSI-approved licenses].
         | 
         | > The board clarified that projects in the Foundation must use
         | a permissive OSI-approved license and that projects would all
         | be treated the same.
         | 
         | Per the linked article https://sixlabors.com/posts/license-
         | changes/
         | 
         | > Previous attempts (sponsorship, support license) to provide a
         | sustainable income to ensure the continued development of the
         | Six Labors libraries have not proven successful, yielding less
         | than a few months of developer income over a period of several
         | years.
         | 
         | It sounds like James' monetization efforts were unsuccessful.
         | The new monetization approach and relicensing is not considered
         | compatible with the open source nature of the dotnet
         | foundation. Whether the new approach works remains to be seen,
         | but it likely burned a lot of community goodwill.
        
           | phoronixrly wrote:
           | > Whether the new approach works remains to be seen
           | 
           | True, I hope it does.
           | 
           | > but it likely burned a lot of community goodwill
           | 
           | That also remains to be seen. And would it burn less
           | community goodwill to stop developing the project at all?
           | 
           | Also it doesn't really matter if this move burns community
           | goodwill. It's the author's decision to make. Any member of
           | the community is free to fork before the license change, and
           | any member of the community is free to not submit patches
           | upstream.
        
       | gtirloni wrote:
       | SkiaSharp seems like a decent alternative (edit: in case you
       | can't actually use System.Drawing directly).
       | 
       | https://github.com/mono/SkiaSharp
        
         | HideousKojima wrote:
         | >in case you can't actually use System.Drawing directly
         | 
         | I.e. anyone using .NET on Linux or Mac
        
       | ethbr0 wrote:
       | Direct link to the license and post from the ImageSharp side, as
       | both their and the .NET Foundation's posts are worth reading:
       | https://sixlabors.com/posts/license-changes/
       | 
       | Tl;dr as near as I can tell:
       | 
       | - If you are "an Open Source or Source Available consumer" or "a
       | Non-profit organization or Registered Charity", you can use the
       | code under Apache License 2.0.
       | 
       | - "If your annual gross revenue is less than 1M USD then the
       | license will continue to be granted to you under the Apache
       | License 2.0."
       | 
       | - "If your annual gross revenue is greater than or equal to 1M
       | USD and you are consuming any of the libraries for use in Closed
       | Source software as a "Direct Package Dependency" as defined in
       | the license then you must purchase a Six Labors Commercial Use
       | License."
       | 
       | Also, nice to see both of them handling it professionally,
       | instead of casting aspersions as so often happens.
        
         | blibble wrote:
         | > If you are "an Open Source or Source Available consumer" or
         | "a Non-profit organization or Registered Charity", you can use
         | the code under Apache License 2.0.
         | 
         | but Apache allows redistribution under the same terms? so how
         | this supposed to work?
        
           | int_19h wrote:
           | https://github.com/SixLabors/ImageSharp/discussions/2151#dis.
           | ..
           | 
           | "The transitive clause is actually really important, I'll
           | explain why.
           | 
           | I've explicitly called out the following to ensure that the
           | Split License is non viral.
           | 
           | Once granted, You must reference the granted license only in
           | all documentation.
           | 
           | In practical terms this means that If you are granted a
           | license, that's the one you're use, not the Split License
           | which exists to derive the license to be granted to you.
           | 
           | So if you're OSS, you should only be concerned about and
           | reference the Apache 2.0 license - downstream consumers
           | shouldn't need to care.
           | 
           | That, on the surface makes the whole transitive/direct thing
           | seem redundant except for the fact we have to use the Split
           | License in NuGet packages, so if someone is looking up their
           | supply chain then they can reference the transitive clause to
           | determine liability (none).
           | 
           | Can it be exploited. Yes, but as I've said elsewhere. "Evil
           | Corp is gonna evil". They're actually more likely to simply
           | ignore the license."
        
             | Dylan16807 wrote:
             | Getting the Apache version from someone else because they
             | won't give it directly to you doesn't sound like an
             | "exploit" or "evil" to me.
        
               | tomnipotent wrote:
               | The transitive clause is limited to "Object" form, which
               | excludes raw source code.
        
               | int_19h wrote:
               | It doesn't matter, because these clauses are only
               | relevant when determining the license granted to someone
               | who is consuming the library. If an open source project
               | does that, the following item applies:
               | 
               | "Works in Source or Object form are licensed to You under
               | the Apache License, Version 2.0 if ... you are consuming
               | the Work in for use in software licensed under an Open
               | Source or Source Available license."
               | 
               | So at that point the author of said open source project
               | gets to redistribute the source of the library under AL -
               | and only AL defines what further derived works can and
               | cannot do with it.
        
               | resoluteteeth wrote:
               | It's true that the way they have defined it in the split
               | license, you are not using imagesharp as a "transitive
               | package dependency" if you copy the source code from the
               | git repository of an apache licensed open source project
               | rather than using the object code.
               | 
               | However, that's irrelevant because they are licensing it
               | to the open source project under the apache license.
               | 
               | Once the open source project has it under the apache
               | license, you can copy it from the open source project
               | under the apache license, because the apache license
               | allows that, and the split license won't apply in the
               | first place.
               | 
               | The linked page even says "Once granted, You must
               | reference the granted license only in all documentation,"
               | so if they have the source code in their repository it
               | will literally just say that it's apache licensed with
               | zero mention of the split license by the explicit
               | instructions of the creators of imagesharp.
               | 
               | If they say that's NOT the case, because they are
               | imposing additional restrictions, then they aren't
               | actually licensing it to the open source project under
               | the apache license in the first place.
               | 
               | Otherwise, they realize that this is a massive loophole
               | but are still hoping that companies will just pay up. I
               | think this is what's actually the case (and why the hoped
               | the .net foundation would accept it), but they don't want
               | to come out and say that explicitly because then it would
               | defeat the point.
        
             | [deleted]
        
             | initplus wrote:
             | Can't have your cake and eat it too. Either the license is
             | viral (conditions imposed on user A still apply when A
             | passes the software to B) or it's not.
             | 
             | If you license your code to anyone under the Apache
             | License, that person is then free to redistribute the code
             | under the terms granted by the Apache License, which is
             | obviously missing this $1,000,000 revenue restriction.
        
           | plorkyeran wrote:
           | Yeah, that seems like contradictory gibberish. If you're
           | closed source and have revenue over 1M you just have to
           | obtain it from someone who is allowed to use it according to
           | the Apache 2.0 license rather than directly from MS? The
           | license explicitly allows anyone to consume it as a
           | transitive package dependency, so you just need to make a
           | trivial open source library which imports it and then depend
           | on that?
           | 
           | They might as well just say that if you have revenue over $1M
           | they'd appreciate if you gave them money since the license
           | doesn't seem to actually impose any sort of legal obligation
           | to do so.
        
             | modeless wrote:
             | Maybe I'll start a business reselling Apache-licensed
             | copies of ImageSharp. $10 each. As long as I don't get more
             | than 100k customers I'll have less than $1m revenue and I'm
             | good!
             | 
             | This is definitely the stupidest license I've heard of. I'm
             | currently in the same situation, thinking about how to open
             | source one of my projects while retaining the ability to
             | make some money somehow, and this is something I never even
             | considered because it's so stupid.
        
               | tgsovlerkhgsel wrote:
               | It isn't, because as long as the price for a direct
               | license is reasonable, companies will pay it just to have
               | the paperwork.
               | 
               | SQLite is public domain, and makes money by selling
               | "licenses" to such companies (they're called something
               | else, but it allows the company buying it to file it in
               | their "licenses" folder and tick a checkbox;
               | https://www.sqlite.org/copyright.html).
        
               | plorkyeran wrote:
               | If the intent is for it to be Apache 2.0 with a
               | completely optional paid license, you can just do that
               | without a convoluted licensing scheme.
        
               | int_19h wrote:
               | That is exactly what they did originally, and it did not
               | produce enough paid customers.
        
               | [deleted]
        
               | modeless wrote:
               | That doesn't make this license not stupid. Sure, SQLite
               | sells licenses, there's nothing wrong with that,
               | ImageSharp is welcome to do it too! But you'll notice
               | that SQLite doesn't need a license like this one...
        
               | blibble wrote:
               | if it's a library the classic model is to distribute it
               | under the GPL and have a separate proprietary license
               | that you charge for
               | 
               | (doesn't stop mega-cos using it as a cloud
               | service/internally though)
        
               | pooper wrote:
               | I think dual licensing AGPLv3 (or above) is the simplest
               | approach. Include a separate paid (preferably
               | straightforward) license and be done. Make it easy for
               | people to pay you and make it easier to get refunds for
               | any reason.
               | 
               | Another option is to do what Duende did. I think Duende
               | (Identity Server) handled the situation pretty well.
               | 
               | https://duendesoftware.com/products/identityserver
               | 
               | > Standard License Pricing > Free for development,
               | testing and personal projects--only pay for production.
               | Try it now! Learn about our free Community Edition.
               | 
               | > Our Community Edition license is feature equivalent to
               | our Enterprise Edition, but only includes standard
               | support.
               | 
               | > Community Edition allows hosting IdentityServer on your
               | own infrastructure (including your cloud). It is not for
               | scenarios where you redistribute IdentityServer, or build
               | software for third parties. In this case you either need
               | a redistribution license, or the end-customer needs a
               | standard license.
               | 
               | > For-profit companies/individuals with less than 1M USD
               | annual gross revenue > Non-profit organization with a
               | published annual budget less than 1M USD > Registered
               | charities
        
             | tomnipotent wrote:
             | > impose any sort of legal obligation to do so
             | 
             | The whole point of being in breach of contract is that you
             | can be sued for it.
        
       | Kukumber wrote:
       | They have lot of employees:
       | https://github.com/SixLabors/ImageSharp/graphs/contributors
        
         | madeofpalk wrote:
         | That shows _" contributors"_. It looks like they have roughly 4
         | regular contributors. Their Github org lists 5 members. I would
         | not consider that "a lot".
        
         | [deleted]
        
       ___________________________________________________________________
       (page generated 2022-10-22 23:00 UTC)