[HN Gopher] Mold linker may switch to a source-available license
       ___________________________________________________________________
        
       Mold linker may switch to a source-available license
        
       Author : MForster
       Score  : 170 points
       Date   : 2022-11-13 16:37 UTC (6 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | secondcoming wrote:
       | He could try putting ASCII-art adverts in the output
        
       | adrr wrote:
       | So is this a copyright agreement or a EULA? Copyright agreements
       | only cover distribution and if you something internally, it
       | doesn't cover your usage. Only if you distribute the code does it
       | come into play.
        
         | rpdillon wrote:
         | IANAL.
         | 
         | Copyright covers four rights, one of them being distribution.
         | It also covers creating derivative works, copying, and public
         | performance. Many licenses based on copyright put restrictions
         | on use; indeed, the BSL (the same license the author is
         | thinking of moving to) does exactly this.
         | 
         | In the case of the GPL, you only need to provide source code to
         | those you distribute the software to; that may be what you're
         | thinking of with respect to distribution, but that's more an
         | artifact of the GPL (and its goals) than copyright.
        
       | eikenberry wrote:
       | Given the horrible performance of the LLVM compiler and linker
       | I'd think Apple or one of the other LLVM backers would jump at
       | hiring/funding this guy. Making the LLVM compiler/linker faster
       | should be a top priority given how important it is to developer
       | UX and productivity.
        
         | [deleted]
        
         | wyldfire wrote:
         | > Given the horrible performance of the LLVM compiler and
         | linker
         | 
         | lld is second only to mold in performance. Rui used to work on
         | lld at Google. Apple has a significant investment in ld64 and
         | probably doesn't want to abandon it.
        
           | mshockwave wrote:
           | > Apple has a significant investment in ld64 and probably
           | doesn't want to abandon it.
           | 
           | Yep, Facebook and a few people in Google are actually the
           | primary contributors to LLD's MachO support
        
       | bloudermilk wrote:
       | Are there any examples of popular OSS projects using a non-
       | commercial-only license?
        
         | janober wrote:
         | We at n8n (https://n8n.io/) have something similar (but not
         | identical) with our Sustainable Use License. Here the blog-post
         | where we talk about it some more:
         | https://blog.n8n.io/announcing-new-sustainable-use-license/
        
           | bornfreddy wrote:
           | Sounds like an interesting licence, good luck!
        
         | ddevault wrote:
         | Non-commercial OSS projects is a contradiction in terms.
        
           | chrisseaton wrote:
           | The source can still be open even if you aren't permitted to
           | run it for commerce.
        
             | dist1ll wrote:
             | That's referred to as "source-available" to distinguish it
             | from free/libre software.
        
         | nrook wrote:
         | The AGPL is not a non-commercial license, but it essentially
         | functions as one, as most companies aren't willing to comply
         | with it. There are some projects that make their code available
         | under the AGPL, and also let users pay to get access under a
         | different license. Grafana is an example.
        
           | 1letterunixname wrote:
        
             | rpdillon wrote:
             | It's designed to maximize freedom overall, not freedom for
             | one individual. There's some tension between those two
             | goals.
             | 
             | I think it's basically the software equivalent of the
             | Paradox of Tolerance.
             | 
             | https://en.wikipedia.org/wiki/Paradox_of_tolerance
        
             | [deleted]
        
             | PetitSasquatch wrote:
             | This is how it appears to me also.
             | 
             | I suspect by 'free', GNU licenses aren't really referring
             | to user-freedom more so source-code-freedom.
             | 
             | It all depends on the developer's objectives, no doubt.
        
               | cannam wrote:
               | Source-code freedom is user freedom. It's effectively a
               | sort of guarantee.
               | 
               | The additional freedom that BSD licences provide is
               | freedom for developers to do what they like, not anything
               | to do with users.
               | 
               | (The biggest practical advantage of a BSD licence for
               | most developers is that if you use one when publishing
               | your code while you work for a company, you yourself will
               | still be able to reuse that code after you leave.)
        
             | hedora wrote:
             | GPL 3 has similar (in spirit and mechanism) usage
             | restrictions as the AGPL.
             | 
             | GPL3 cracks down on TiVo style lockdowns:
             | 
             | Here is an encrypted binary and source code. No existing
             | computer will run either without a secret key you cannot
             | have.
             | 
             | AGPL cracks down on Google style lockdowns:
             | 
             | You can't have binaries or sources, but you can use this
             | GPL software as long as you agree to a long and ever
             | changing EULA that includes clauses for surveillance,
             | binding arbitration and worse.
             | 
             | BSD licenses are only freer for developers, not for end
             | users. The F in FOSS refers to the users' freedoms, not the
             | developer's / vendor's freedoms.
        
           | poulpy123 wrote:
           | How is the AGPL not free ?
        
         | bbanyc wrote:
         | Ghostscript used to have the most recent version under a non-
         | commercial license (AFPL) and older versions relicensed to GPL,
         | before they switched to AGPL only.
        
         | rectang wrote:
         | No, because excluding commercial users is a field-of-use
         | restriction, and you're not FOSS if you only offer a license
         | which imposes a field-of-use restriction. Which is fine! Just
         | don't call it FOSS.
        
           | ghaff wrote:
           | Furthermore, it's really hard to define what non-commercial
           | actually means. Creative Commons spent something like a
           | decade trying to scope a reasonable definition and eventually
           | ended up essentially punting. With a few exceptions like
           | (arguably) secondary public education use, pretty much any
           | non-trivial use has _some_ commercial component.
        
           | Grimburger wrote:
           | > you're not FOSS
           | 
           | > don't call it FOSS
           | 
           | The grandparent comment clearly said OSS.
        
             | detaro wrote:
             | Their statement is just as true if you insert "OSS" instead
             | of "FOSS".
        
         | ekidd wrote:
         | Technically, both the original Open Source Definition
         | https://opensource.org/osd and the older Free Software
         | Definition https://www.gnu.org/philosophy/free-
         | sw.html.en#translations both explicitly require the ability to
         | use programs in a commercial context.
         | 
         | In the case of the Free Software Definition, this makes perfect
         | sense: the FSF wants people to have certain freedoms at work,
         | as well as freedom in their personal lives.
         | 
         | The other challenge is that turning an open source project into
         | a proprietary project isn't as simple as changing the license
         | and asking for money. You need to build an entire business from
         | scratch, and learn to close sales somehow (or sell to
         | consumers). This will take up at least half your time.
        
         | djur wrote:
         | By definition there aren't any, but MAME used to be distributed
         | under such a license. I think Debian in particular has been
         | pretty successful at exerting pressure to either relicense or
         | replace software with non-commercial restrictions.
        
           | runfaster2000 wrote:
           | Do you have an example of that? That is really interesting.
        
       | syrrim wrote:
       | A better link might the google doc explaining in detail:
       | 
       | https://docs.google.com/document/d/1kiW9qmNlJ9oQZM6r5o4_N54s...
       | 
       | >A major obstacle in getting financial support is most companies
       | don't have an internal process to start funding an open-source
       | project. If they need to buy a license, that's fine, that's part
       | of their usual business. But supporting (or giving money away to)
       | "free" software is almost impossible. It raises too many
       | questions at every level of management. What is the accounting
       | item it should be categorized to? Is there any legal implication?
       | Who can approve it in the first place? And last but not least,
       | why do they have to do it if it's available for free?
       | 
       | I would think you could work around many of these problems
       | without going source-available. You could simply sell licenses to
       | people despite already handing out an open source license for
       | free (the sqlite approach iirc). Since the project is apparently
       | otherwise AGPL licensed, I would think businesses would be quite
       | open to receiving a normal commercial license instead. To sweeten
       | the deal further, you could come up with some list of enterprise
       | features that would be uniquely available in the commercial
       | variant.
       | 
       | As a risk of using the BSL, I would cite the danger of the
       | project becoming less popular among average developers, an effect
       | that might compound in the long term ultimately killing the
       | project. I don't personally use mold, so I don't know how strong
       | this effect would be.
        
       | nu11ptr wrote:
       | I think this is fine. The author has the right to do whatever
       | they want with their own product. Bummer for me as I like this
       | linker, but probably wouldn't use it if this change is made, as
       | my small one person company wouldn't be able to pay.
       | 
       | That said, I personally don't see it being successful if this is
       | done, and my suspicion is it might even be forked so an open
       | source version could remain. It sucks that they aren't making any
       | money, but I don't think this type of project works in any model
       | except open source anymore. I could be wrong and hope for the
       | sake of the author that I am.
        
       | devit wrote:
       | They could make only the OSX version proprietary, which would not
       | be a big issue since OSX users have already opted in to slavery.
        
       | layer8 wrote:
       | More projects should do this, if only for everyone to get a
       | better picture about if and when this is viable.
        
       | trurl wrote:
       | I think one thing that would definitely help the mold project is
       | to have a clearer price and licensing model. The only thing I can
       | find is https://opencollective.com/mold-linker.
       | 
       | It would be much easier to be able to go to my manager with that
       | kind of information. Right now the conversation goes:
       | 
       | "Hey, this linker could save us quite a bit of time on our
       | enormous executable." "Okay, how much will it cost us?" "Well,
       | there is this site where you can donate on a regular basis."
        
       | steeve wrote:
       | We (Zenly) would have absolutely paid for mold (should we have
       | lived). Linking the app was 40s on a M1 Pro.
        
       | hedora wrote:
       | As a corporate open source developer, we would be forced to
       | switch off mold immediately if we were using it, for at least two
       | reasons:
       | 
       | 1) Whether or not we could get finance to pay for a license, we
       | would not be willing to force the rest of our community to pay.
       | 
       | 2) What is a "user"? A developer seat? What if CI / CD has a
       | public facing github queue? Are people submitting PRs users? Do
       | end users of our service count?
       | 
       | I'd strongly suggest a "call for pricing" model until you have
       | good answers to the above. (Good == what the market will bear;
       | figuring out will require you to initiate run ~ 100 customer
       | calls).
       | 
       | Also, why revert to GPL, not AGPL3 or Apache? GPL is a weird
       | middle ground these days. "Some users get Freedom, but unlike
       | with AGPL, Google, AWS and *aaS users get to pound sand. Also,
       | unlike Apache, maybe we will patent troll you later."
       | 
       | This stuff is hard. Good luck!
        
         | googlryas wrote:
         | Why would you need to switch off immediately? You can still use
         | the version you're using in perpetuity with the license you
         | agreed to.
         | 
         | If the main developer died, would you feel the need to
         | immediately switch off of it? Is anyone even tracking the
         | liveliness of the developer in your org?
        
           | hedora wrote:
           | Specifically for mold:
           | 
           | It is a commodity (there are other linkers), and the main
           | reason to use it is developer productivity. Using a fast,
           | bitrotting and unsupported linker is worse than using a slow,
           | up-to-date linker.
           | 
           | We'd probably wait one release cycle to switch (maybe the
           | replacement linker introduces bugs or something.)
           | 
           | Having said that, there is a clear line from "linking is 5x
           | faster" to $10-100K annual savings for the business, so I'd
           | support paying a substantial license fee. (I do not hold the
           | purse strings, so that doesn't matter in my current gig.)
        
       | doorman2 wrote:
       | Are there any out-of-the-box non-commercial licenses? I've wanted
       | to do this too, but I'm too lazy to find an appropriate license.
        
         | rileyphone wrote:
         | Mongo, Graylog, and Elastic use the SSPL.
        
         | ralmidani wrote:
         | Lots of options here: https://polyformproject.org/licenses/
        
         | wmf wrote:
         | https://writing.kemitchell.com/2022/01/26/Big-Time-2.0.0
         | 
         | https://prosperitylicense.com/
        
       | D13Fd wrote:
       | I think this is totally fine, but they will need a better
       | definition of what is and is not permissible. "Corporate" is a
       | word that has many meanings. What about other entity types-sole
       | proprietorships, partnerships? How about for-profit vs non-
       | profit? Educational use? By students vs. schools themselves and
       | faculty? Etc.
       | 
       | If you start restricting things by type of use, you need an
       | exceptionally thorough and clear license or you are going to wind
       | up precluding many more people than you intend to.
        
         | pclmulqdq wrote:
         | The BSL (the proposed license) is fairly clear about this if
         | you read the license. Most sole proprietorships and
         | corporations of all types that make money or sell a product
         | using it would have to pay. It's not clear that any of this is
         | legally enforceable, though.
        
           | zinekeller wrote:
           | > It's not clear that any of this is legally enforceable,
           | though.
           | 
           | I'm pretty sure that it is legally enforceable in most
           | jurisdictions, B2B contracts are almost always stronger/more
           | binding than consumer ones (since that protections granted
           | under consumer protection laws are gone, and there is a
           | reasonable presumption that the parties have read and
           | understand the contract). The blurrier part is for sole
           | proprietorships, since it depends on whether their specific
           | jurisdiction considers them as consumers under consumer
           | protection laws (which uniformly weakens contracts to the
           | extent that it does not comply with the guarantees for
           | consumers).
           | 
           | (Note that in most jurisdictions, most "copyright licenses"
           | are considered as _contracts_. For example, multiple cases in
           | French courts have resolved that GPL2 is considered a
           | contract.)
           | 
           | Also, the license text: https://mariadb.com/bsl11/
        
             | JonChesterfield wrote:
             | That's curious. In the UK a contract requires consideration
             | and I can't see any here.
        
               | haneefmubarak wrote:
               | Contracts in the US also require consideration (IIRC from
               | my intro biz law class). IANAL, but I think that the
               | consideration is allowing you to use the IP (in exchange
               | for your compliance with the license).
        
               | JonChesterfield wrote:
               | The software project gives the other party IP to use, and
               | gets nothing in return. Might not even be told the other
               | party is using their software.
               | 
               | I don't think accepting a contract can qualify as
               | consideration for that contract, as otherwise there would
               | never be a need for consideration in any contract.
        
               | zinekeller wrote:
               | I'm not sure if English laws allows substitution, but
               | technically in US law this contract indeed don't have a
               | consideration. While mutual consideration makes it
               | enforceable, the lack of it doesn't automatically make
               | the contract void. You could argue that there's
               | promissory estoppel:
               | 
               | > Promissory estoppel/detrimental reliance: A contract
               | without consideration is enforceable if the
               | nonperformance of the promisor will cause injustice.
               | Elements of promissory estoppel are (i) the promise has
               | reasonable, foreseeable, and detrimental reliance on the
               | promisor, and (ii) the enforcement of the promise is
               | necessary to avoid injustice.
               | 
               | In this case, you are nearly correct that the performance
               | to honor the terms of the contract is essential, but
               | technically not a consideration. (The IP code _is_
               | consideration though.)
        
               | orra wrote:
               | FYI, consideration is required in English law, but not in
               | Scots law.
        
             | pclmulqdq wrote:
             | As others have pointed out, a lot of common law
             | jurisdictions require that contracts have consideration
             | from both parties. This is the key issue with non-
             | permissive open-source licensing (and it's an issue with
             | the GPL/AGPL too).
             | 
             | Restrictive covenants on open source licenses might not be
             | consideration, particularly because they apply to the IP
             | licensed in the contract - something that the
             | user/downloader of the software wouldn't have without the
             | contract. In other words, you are giving them rights to use
             | your IP in a few specific ways in exchange for nothing.
             | They need to give up something of value that they wouldn't
             | have otherwise had for it to undeniably be consideration.
        
           | fbdab103 wrote:
           | So if I work for a commercial company, but exclusively use
           | the software for internal, non-sold activities is that ok? It
           | is only when the software is used within a commercial product
           | directly or is it anything that enable a commercial company
           | to keep the lights running?
        
             | pclmulqdq wrote:
             | That's a decision for you (and your lawyer) to make after
             | you read the license.
             | 
             | They might have an argument against you if the software is
             | at all part of your value chain.
        
       | dark-star wrote:
        
         | jessermeyer wrote:
         | Deeply and needlessly cynical. rui tried to fund a high-value
         | software infrastructure project on its own merit and it's not
         | feasible long term. So a change is required.
         | 
         | Hardly a bait and switch 'extortion'.
        
           | dark-star wrote:
           | Well, maybe going all-in in building a "high-value software
           | infrastructure project on [your] own" is not a good idea if
           | you don't have any concrete plans for funding right from the
           | start? Changing the license to a non-FOSS is basically the
           | most knee-jerk reaction you can do in that case. Find a
           | maintainer. Give the project to the community. Become a
           | regular contributor in your own spare time instead of the
           | main (and sole) developer.
           | 
           | There are so many better ways to handle such a situation.
           | 
           | If you replace "building software" with "building a road" (or
           | some other similar real-world infrastructure project),
           | everyone would agree that it's a self-made problem and that
           | there are other ways out rather than just "from tomorrow on
           | this will be a toll-road". You can turn the road over to your
           | city/municipality. Or you could let other take over the
           | maintenance. If the road is useful, there will be others. If
           | it isn't, well, everyone moves on.
        
             | goodpoint wrote:
             | > Changing the license ... Give the project to the
             | community
             | 
             | Wrong - this is a false dichotomy. "changing" license is
             | not retroactive. Older releases are still available to the
             | community and anybody can fork the project and carry on a
             | new release train.
        
             | zokier wrote:
             | > Find a maintainer. Give the project to the community.
             | 
             | The code is out there for the community to pick up if they
             | wish; anyone can rise up as a maintainer.
             | 
             | Besides, how does above help at all in the author getting
             | paid?
        
             | BaculumMeumEst wrote:
             | You are 100% free to fork the last permissively licensed
             | commit and maintain it yourself. Looking forward to seeing
             | you put in some work with the same enthusiasm that you use
             | to tell people how to run their projects.
        
             | eropple wrote:
             | _> Give the project to the community._
             | 
             | Why? Did the community give to him? It certainly sounds
             | like it hasn't. What obligations does one have to a
             | community that doesn't give back?
             | 
             |  _> There are so many better ways to handle such a
             | situation._
             | 
             | Better for who? You? Or him?
             | 
             | If open-source communities want open-source, they're going
             | to need to come to grips with the need for people to eat,
             | and to do that they are at minimum going to need to _pass
             | the hat_. If they 're not going to do that, this happens,
             | and telling somebody who isn't you what they should do for
             | "the community when "the community" doesn't support them
             | is, frankly, wrong verging on immoral.
        
       | iLoveOncall wrote:
       | I feel for the maintainer, but looking at the performance chart
       | in the readme, I think any engineer will have a hard time getting
       | their company to approve paying a license for such a small
       | improvement over LLVM ld.
       | 
       | My big-tech company and my team don't care that build time for a
       | small part of our application is 5 minutes (not a clean build,
       | that would be an hour), so I know they wouldn't pay to save 10
       | seconds. And linking is not even all of the time to build your
       | application.
       | 
       | From a financial point of view, the fact that the author is in
       | Singapore and has a goal of $10K a month doesn't help.
        
         | Kwpolska wrote:
         | Yeah, businesses are often cheapskates, and a couple seconds'
         | worth of speedup aren't worth any money, especially if you're
         | removing 10-20 seconds from a multi-hour build pipeline running
         | on dedicated build boxes.
        
         | jessermeyer wrote:
         | If an engineer at a FAANG company reduced their global link
         | times by even 10% they'd be promoted into early retirement.
         | 
         | Mold is an order of magnitude faster.
        
           | iLoveOncall wrote:
           | The guys that improved dependency download time by up to 80%
           | at my company (Amazon) sure as hell are enjoying the 3% raise
           | they got like everyone else.
           | 
           | I agree with you that Mold is an order of magnitude faster
           | than the competition (sometimes). However in that case the
           | absolute value is more representative than the relative
           | number. Your linking time going from 10 seconds to 1 or 2
           | seconds is only a tiny improvement.
        
             | liuliu wrote:
             | Nobody only spent 10s on linking. For any reasonable sized
             | binary (in the range of 100 to 200 MiB) it is somewhere
             | around 50s to 60s before mold. People regularly links 1GiB
             | binary for living during their development cycle. If you
             | use small binary or primarily using Go, probably not the
             | target audience of mold.
             | 
             | Otherwise I actually agree mold is amazing but have limited
             | commercialization potential unless author expands the scope
             | (like RAD Game Tools) / take some VC money (much like
             | Emerge Tools)
        
               | jeffbee wrote:
               | 10s is an extreme link time with lld. lld can link clang
               | in 6s. Mold cuts that in half, but it's still true that
               | you save 3s, not a minute.
        
               | maccard wrote:
               | I disagree. Our lld link times for the Linux build of our
               | project is over 3 minutes, with LTO disabled.
        
           | keepquestioning wrote:
           | Incredibly wrong take.
        
           | jeffbee wrote:
           | If that were true, the author would have retired, because
           | they were a Google engineer when they wrote lld, which is
           | bonkers fast compared to gold, Google's previous linker.
        
       | Kukumber wrote:
       | Very disappointing, that's a slap in the face to everyone who
       | contributed
       | 
       | If you wanted to monetize your project, you should have done it
       | from the beginning with the proper license
       | 
       | Getting exposure and contributions only just to change the terms
       | is just disgusting
        
         | trillic wrote:
         | Guess he'll be slapping himself in the face...seeing as if you
         | read the blog post you'd know that he can change the license
         | because he wrote essentially all the code...
        
           | Kukumber wrote:
           | That's not the point, breaking trust, manipulation and
           | betrayal are, if you don't care about that, then you should
           | not complain when one random dude changes his popular library
           | to spread a political malware [1]
           | 
           | [1] - https://arstechnica.com/information-
           | technology/2022/03/sabot...
        
             | sodality2 wrote:
             | It is not a break of trust, maniupulation, or a betrayal. A
             | FOSS license is not a guarantee or promise of perpetually
             | working on a project, for free - in fact it is specifically
             | never guaranteeing anything.
             | 
             | You will always be able to use the version of Mold right
             | before the license is switched.
        
       | bb88 wrote:
       | "It's even a bit ironic that I had been asked by          several
       | big-name companies when mold/macOS would          become
       | available, since they wanted to use it for their          multi-
       | billion-dollar businesses. But none of them gave          me
       | financial support."
       | 
       | He's giving it away for free and then expects multi-billion
       | dollar companies to pay for it. When they don't because they have
       | no legal requirement, he feels gypped.
       | 
       | This is kind of a dumb way to run your business.
        
         | SergeAx wrote:
         | They clearly have a need (macOS version), but won't pay
         | literally the only person on the planet who will fulfull their
         | need, why?
        
           | bb88 wrote:
           | License? Only one guy to handle the support? Dev is an
           | Unknown quantity? Bad economy? Cost he's asking is too high?
           | Cheaper for companies to build it themselves?
           | 
           | I have a lot of questions about it too. But it's clear
           | there's something wrong in his business model here.
        
         | bccdee wrote:
         | If he's going to keep doing the work, somebody has to pay for
         | it. If a company wants him to keep doing the work, then they
         | should provide funding in order to ensure that it happens.
         | Otherwise, the company risks not actually getting the thing
         | he's giving away for free, which is exactly what's happening.
         | 
         | It's the tragedy of the commons. Someone, anyone, has to pay
         | for maintenance in the park. If nobody donates, then either the
         | park shuts down or the park has to start charging visitors, and
         | free access disappears.
        
         | hobofan wrote:
         | They are anticipating a version of the software they want to
         | use to become available (which would save them money) without
         | contributing in any way towards it.
         | 
         | This is kind of a dumb way to run your business.
        
       | 1letterunixname wrote:
        
       | rectang wrote:
       | Is the maintainer is the only copyright holder? If not, and other
       | authors have contributed under the AGPL, the maintainer can't
       | switch the license.
       | 
       | EDIT: I found this in the linked blog post:
       | 
       | > _I can change the license (or sublicense) because I wrote
       | almost all the code myself, and all remaining patches to mold are
       | licensed under the dual license of MIT /AGPL._
        
         | suprjami wrote:
         | Thanks, this was my first thought too.
        
         | stefantalpalaru wrote:
        
       | jeffbee wrote:
       | I think there is a prima facie case that nobody* cares about
       | linker speed. bfd is a terrible linker written by weirdos and
       | it's still the default linker on every mainstream Linux. You'd
       | think that an organization like Canonical would benefit from
       | faster builds, but they still use bfd. Not even gold, which has
       | been available for 16 years. Definitely not lld, which has been
       | around for 5 years. The amount of performance they are already
       | leaving on the table is huge, so who would expect them to be
       | suddenly interested in build performance?
       | 
       | * for values of "nobody" excluding Google.
        
         | JonChesterfield wrote:
         | Games dev cared, at least up to the playstation 4. The Sony
         | linker was much faster than the Microsoft one (plus built to an
         | unreasonable QA bar) and that cut turnaround times for builds
         | enough that it was worth developing against the playstation and
         | testing against the xbox, which Sony considered a competitive
         | advantage.
         | 
         | Also people, at least those same users, had really strong views
         | on bugs in linkers. If the game is broken because the linker
         | trashed it, you've only worked that out after debugging through
         | your own code and through the compiler output, by which point
         | you're well past patient and understanding.
         | 
         | Sadly for this project I consider linkers to be a fundamental
         | design mistake. Or at least obsolete. Lowering to machine code
         | before combining files wins you runtime overhead and
         | implementation obfuscation in exchange for reduced memory
         | consumption. Linking an intermediate form then writing machine
         | code (in elf if you like) from that single blob is better. I'm
         | pretty sure it can be done in lower memory overhead than
         | linking machine code if you're so inclined.
        
           | andrekandre wrote:
           | > Linking an intermediate form then writing machine code (in
           | elf if you like) from that single blob is better. I'm pretty
           | sure it can be done in lower memory overhead than linking
           | machine code if you're so inclined.
           | 
           | do you mean its better for build performance or for the final
           | output?
        
         | rlpb wrote:
         | > You'd think that an organization like Canonical would benefit
         | from faster builds, but they still use bfd.
         | 
         | In practice, switching this kind of thing isn't trivial. The
         | edge cases fall out as build failures. See for example:
         | https://wiki.debian.org/ToolChain/DSOLinking
        
         | maccard wrote:
         | That's just not true. Every c++ project I've worked on has
         | cared about linker and compiler speed. Unfortunately I work in
         | windows-land where we use MSVC, but stuff like [0] makes our
         | lives so much easier.
         | 
         | [0] https://devblogs.microsoft.com/cppblog/faster-c-iteration-
         | bu...
        
       | mkoubaa wrote:
       | Have they considered funding from a software foundation?
        
         | wmf wrote:
         | What foundations provide funding? My understanding is that
         | they're willing to manage funding that you provide.
        
           | Nemo_bis wrote:
           | https://nlnet.nl/project/current.html
        
             | wmf wrote:
             | Yikes, I wouldn't want to be the 501st project on that
             | list.
        
       | smoldesu wrote:
       | > The new license would be something like individuals can use it
       | for free but corporate users have to pay. mold started as my
       | personal project, and I've been working on this full time for two
       | years so far. I thought that I could earn a comfortable income if
       | mold become popular, but unfortunately, I'm still losing my
       | money. I think I need to take an action to make the project
       | sustainable long term.
       | 
       | This seems totally reasonable to me, honestly. Guess what,
       | companies building your product on top of high-quality FOSS
       | software? Turnabout is fair play. If we're going to rot our
       | software infrastructure to it's soul by adding endless SaaS
       | subscriptions to everything, then why shouldn't FOSS developers
       | get in on the fun? This is the software dystopia we've created,
       | where marginal-utility products get built on the backbreaking
       | work of unpaid contributors. If they don't like it, they can fork
       | the AGPL version or use a different linker.
       | 
       | It's a very dog-eat-dog play, but realistically this is what our
       | software industry has turned into. IMO, it's honorable to defend
       | _both_ your individual users and FOSS community while also
       | charging your corporate users for the support they expect.
        
         | pjmlp wrote:
         | In a way, shareware, public domain and demoware have won, after
         | the FOSS hype cycle, as it appears to be the only way to secure
         | a source of income, and not everything can be done via selling
         | support.
        
           | jabl wrote:
           | Nah, FOSS is going stronger than ever. But just as before,
           | it's the ones that are playing the 'commodify your
           | complement' game that are winning, while those that think
           | that FOSS by itself is a business model are struggling.
        
             | lifthrasiir wrote:
             | The buzzword "open source" was kinda designed to appeal as
             | a business model, so F-less OSS is indeed struggling.
        
             | pjmlp wrote:
             | If big boys take out the funding from key projects, meaning
             | stop paying their employees to contribute, everything would
             | crumble.
             | 
             | Why do they pay? As means to drive ecosystems into the
             | products that actually provide money, like cloud, SaaS and
             | hardware, closed source.
        
               | jabl wrote:
               | > If big boys take out the funding from key projects,
               | meaning stop paying their employees to contribute,
               | everything would crumble.
               | 
               | What's your point? If Microsoft goes bankrupt, the MS
               | ecosystem would crumble. And so on, ad infinitum. Nothing
               | lasts forever. Since people aren't clairvoyant, they make
               | an effort at evaluating risks vs benefits, and end up
               | continuing to use both MS products and FOSS software.
               | 
               | > Why do they pay? As means to drive ecosystems into the
               | products that actually provide money, like cloud, SaaS
               | and hardware, closed source.
               | 
               | Yes, that's that whole 'commodify your complement' thing
               | I mentioned. But so what? As long as those companies
               | contribute free software that is useful, enjoy the ride.
               | Maybe the current privacy-invading ad funded IT hegemons
               | will fail one day and be replaced by something else, but
               | at least whatever comes next will have a big pool of
               | hopefully useful software to start building on top of.
        
             | SEJeff wrote:
             | You think so? I always saw it as Open Source won, and a
             | huge part of it being how RMS is a bit of a repulsive
             | individual even many Free Software proponents are disgusted
             | by. I don't want to sling mud, but some of his stances are
             | not good.
        
         | dist1ll wrote:
         | I feel conflicted.
         | 
         | The FOSS label is an extremely powerful statement and draws in
         | lots of users. To switch the license is very poor taste in my
         | opinion, and not much different from a bait-and-switch.
         | 
         | It should be a maintainers responsibility to be very clear
         | about their goals for this project. I feel that they jumped the
         | full-time gun too quickly, and now users will be paying for it
        
           | googlryas wrote:
           | The code he developed will still be licensed under the old
           | license, just going forward new changes won't be. You can
           | fork it right now and keep a FOSS version if you'd like.
           | 
           | But it's not a bait and switch because we don't have a right
           | to his future work under whatever license we like. Imagine
           | the developer was hit by a bus right now, or became a
           | cloistered monk. Same difference.
        
             | [deleted]
        
           | glitchc wrote:
           | "Terms subject to change without notice."
           | 
           | If commercial entities can do it, so can the FOSS community.
        
             | lifthrasiir wrote:
             | Not exactly, because the software already licensed under an
             | old license (which is the only "terms" applicable here)
             | will stay fine.
        
               | glitchc wrote:
               | No it won't. It will ne unsupported. Bugs and security
               | vulnerabilities will accrue making it less and less
               | valuable over time. It's filunny how the very people
               | whose livelihood depends on perpetual software growth and
               | maintenance are the first ones to claim FOSS is okay
               | stuck at a particular function. Every company keeping
               | their stack stuck on the permissive license is risking a
               | log4j style event in the future.
        
           | tomcam wrote:
           | He tried something. He failed. Sometimes the license has to
           | change even if we don't want it to. Having the project around
           | in altered form is better than not having it at all.
        
           | layer8 wrote:
           | We shouldn't think of it as a bait-and-switch if nothing was
           | promised. The license applies to the current version. It
           | doesn't represent a commitment for future versions, and
           | shouldn't be taken as such.
        
           | dessant wrote:
           | It's almost as if one is expected to keep sharing until their
           | last day, without ever being entitled to change the terms of
           | sharing.
        
         | rektide wrote:
         | Reasonable but death. Rather than become a part of the world,
         | this immense value would be a mere glimmer, would not get
         | adopted at any notable scale.
         | 
         | It sucks. Whats happening now isnt fine. I wish so much the
         | world could recognize value & merit & allocate some support for
         | it.
         | 
         | But all the rationalization in the world doesnt change the base
         | truth that this plan would mean death.
        
           | counttheforks wrote:
           | What do you think will happen when there's no funding nor
           | motivation to maintain the project? Death.
        
             | spijdar wrote:
             | I'm of a mind to agree with GP, but I also agree that lack
             | of funding and motivation will kill the project.
             | 
             | Unfortunately, to me this just means the project will
             | probably die. If the author is feeling burnt out and losing
             | money on it, I don't think trying to pivot to a commercial
             | license will help, since as others have mentioned, I don't
             | think many businesses _rely_ on mold specifically, and
             | since the performance gap isn 't astronomical, many
             | companies will just drop in lld and be done with it.
             | 
             | At least, that seems likely to me. I guess we might find
             | out?
        
           | ketralnis wrote:
           | > would not get adopted at any notable scale
           | 
           | Sure, it doesn't sound like that's their goal
        
           | smoldesu wrote:
           | I mean, the alternative is that the lead developer runs out
           | of money and just drops the project altogether. If they have
           | an enterprising personality, I see no reason why they
           | shouldn't chase this opportunity as an alternative to letting
           | their project fall apart/get "adopted" by an abusive
           | maintainer.
        
             | nicoburns wrote:
             | Potentially the other alternative would be a large tech
             | company hires them to work on an open source mold full
             | time.
        
               | smoldesu wrote:
               | That doesn't really end up going well either. There are
               | many such cases where Red
               | Hat/Microsoft/Apple/Facebook/Amazon buys up a sterling
               | young FOSS developer and makes them spend the rest of
               | their life fixing the issues for [PRODUCT] while their
               | project becomes less-and-less relevant by the day (see:
               | CUPS, Clang, Minix).
        
               | nrabulinski wrote:
               | How has cups or clang became less relevant?
        
               | smoldesu wrote:
               | CUPS is still great but mostly because it's initial
               | implementation was so straightforward. It's existence
               | today is mostly maintenance-mode with a priority for
               | fixing Mac bugs, which is understandable but also
               | occludes the possibility for future improvement or adding
               | support for other platforms.
               | 
               | Clang is still relevant because LLVM is great, but as a
               | compiler it's mired in a great deal of political hangups
               | and general pickiness. I don't write C++ for a living,
               | but my experience using the GNU C tooling has been much
               | smoother than Clang and Cmake.
               | 
               | I'll admit that both of those projects aren't exactly
               | dead, but it would be a shame if Microsoft/Google/Apple
               | bought Mold and malformed it to their desires.
        
             | ghaff wrote:
             | I think the parent's point is that, if they weren't able to
             | make money off it before, they almost certainly won't by
             | slapping a more restrictive license on it.
        
               | [deleted]
        
               | homarp wrote:
               | >if they weren't able to make money off it before
               | 
               | just like MongoDB
               | https://news.ycombinator.com/item?id=18229013 and docker
               | desktop https://news.ycombinator.com/item?id=28369570 and
               | Elastic Search
               | https://news.ycombinator.com/item?id=25776657
        
               | thrown_22 wrote:
               | Nothing of a lot is a lot less than all of a little.
        
             | delusional wrote:
             | I don't see any personal issue with the author doing what
             | they're doing. I think it's an implication of the current
             | system that he has to.
        
             | ekidd wrote:
             | > _If they have an enterprising personality_
             | 
             | In practice, this usually means, "Do they want to mostly
             | give up coding and learn how to sell to corporations?" It's
             | not necessarily a bad thing! Corporations have money and
             | selling to them can be an interesting challenge.
             | 
             | But it's not a thing that happens easily or automatically,
             | unless you have a product which has achieved an
             | extraordinary level of appeal to customers. It's hard work,
             | and it doesn't necessarily leave time to code.
        
           | [deleted]
        
         | msla wrote:
         | If this catches on, I expect a lot more people on Hacker News
         | will suddenly have Grave Concerns about how Free those Copyleft
         | licenses are.
        
           | pjmlp wrote:
           | That have always been clear from the beginning that is why
           | you get everyone using GNU/Linux instead of the BSDs,
           | although Apple and Sony enjoy using parts of them on their
           | platforms.
        
       | svnpenn wrote:
       | I support this. I use this with some of my projects:
       | 
       | https://polyformproject.org/licenses/noncommercial/1.0.0
        
       | fefe23 wrote:
       | I love mold and wish the author all the best, but I don't think
       | this will work.
       | 
       | First of all, the usual suspects who rip off high quality open
       | source projects have been known to just create a fork if the
       | license changes (see Amazon and Elasticsearch). If you do this,
       | you have to have the right license from the start.
       | 
       | Second I'm not sure the value proposition is great enough to
       | warrant corporate payments. As awesome as mold and its
       | performance savings are, I don't think they even register on the
       | dashboard of corporations. Maybe a few companies selling build
       | pipeline services could be persuaded, like Github and Gitlab, But
       | for those I think it would make more sense to talk to them and
       | get them to give money voluntarily.
       | 
       | In my experience companies don't just give you money. They do it
       | if they are acutely aware of a problem, like when OpenSSL turned
       | out to be massively underfunded and lots of corporations realized
       | they are dependent on it. I don't think any company is dependent
       | enough on mold yet.
       | 
       | I think the author should talk to the Linux foundation or the
       | LLVM foundation and should get them to pay him a stipend or
       | something. With this move he'll probably not help the situation
       | much.
       | 
       | Also AGPL is already pretty restrictive. Are you sure there are
       | corporations ripping you off? Could it be that they just never
       | even heard of mold?
        
         | _dhruva wrote:
         | > Maybe a few companies selling build pipeline services could
         | be persuaded, like Github and Gitlab
         | 
         | The problem is almost all CI/CD jobs use custom docker images
         | bundled with distro provided compiler toolchains.
         | 
         | Replacing linker in CI/CD jobs transparently is extremely
         | hard/impossible/undesirable.
        
           | secondcoming wrote:
           | You can package it up yourself, put it in a private repo like
           | JFrog, and build a new Docker image.
        
           | fefe23 wrote:
           | Excellent point, it might run counter to the idea of building
           | exactly as if on that platform! Didn't think of that.
        
         | wyldfire wrote:
         | > First of all, the usual suspects who rip off high quality
         | open source projects have been known to just create a fork if
         | the license changes (see Amazon and Elasticsearch). If you do
         | this, you have to have the right license from the start.
         | 
         | It's probably not tested in court but I don't think Rui is
         | obligated to continue to provide AGPL for old source code, just
         | because he had before. Perhaps if you could determine when
         | someone became a licensee, you could say that old/existing
         | licensees can continue to use the old terms. But new licensees
         | can be obligated to use new terms.
         | 
         | > I think the author should talk to the Linux foundation or the
         | LLVM foundation and should get them to pay him a stipend or
         | something. With this move he'll probably not help the situation
         | much.
         | 
         | I doubt either of those organizations would fund Rui's work
         | here. But it might be interesting to try and combine efforts
         | with some of the incremental-compile/link ideas in Rust, Zig,
         | and C++.
         | 
         | > Could it be that they just never even heard of mold?
         | 
         | This is likely the case. Maybe it would make sense to advertise
         | it at conferences like OSSNA or similar.
        
           | leni536 wrote:
           | > It's probably not tested in court but I don't think Rui is
           | obligated to continue to provide AGPL for old source code,
           | just because he had before. Perhaps if you could determine
           | when someone became a licensee, you could say that
           | old/existing licensees can continue to use the old terms. But
           | new licensees can be obligated to use new terms.
           | 
           | Any old licensee that holds the source of the old code with
           | the original AGPL license can distribute the code with the
           | original license to anyone else. They have the license to do
           | so.
           | 
           | That is anyone can just press fork on github, and keep
           | distributing all the AGPL versions with the original license.
        
         | omoikane wrote:
         | I wonder if AGPL is exactly the problem. There are certain
         | large corporations that wouldn't touch anything with AGPL, and
         | thus have little incentive to sponsor projects like mold
         | because they see little benefit from it.
         | 
         | Dropping AGPL might be a step in making friends with some
         | corporations while losing some open source friends, but the
         | latter don't pay the bills.
        
           | poulpy123 wrote:
           | He is specifically explaining that big companies are using
           | his code. They are not afraid of AGPL but they just don't
           | want to pay him
        
           | fefe23 wrote:
           | This argument may make superficial sense if you talk about a
           | library, which is not the case here.
           | 
           | The AGPL does not prevent Amazon from linking their
           | proprietary code with mold. It prevents you from selling a
           | linker service that is built on mold without giving people
           | the source code to mold.
           | 
           | My understanding of AGPL is that Amazon wouldn't even have to
           | open source their service. So the license is not in the way
           | of commercial exploitation.
           | 
           | In fact, OP makes exactly that point, that he is thinking
           | about needing a more restrictive license, not a less
           | restrictive one.
        
             | bb88 wrote:
             | > My understanding of AGPL is that Amazon wouldn't even
             | have to open source their service. So the license is not in
             | the way of commercial exploitation.
             | 
             | There's no linking exception in the AGPL. As Google says,
             | the risk is clear.                   "The primary risk
             | presented by AGPL is that any product or service
             | that depends on AGPL-licensed code, or includes anything
             | copied           or derived from AGPL-licensed code, may be
             | subject to the virality           of the AGPL license. [1]"
             | 
             | IANAL, but some will go further and say that merely looking
             | at AGPL code would be enough to trigger the license, since
             | at some point you could "derive" things from the AGPL'd
             | code base which could then taint every other closed source
             | SaaS project you work on.
             | 
             | This could happen if you wrote an closed source alternative
             | to the original AGPL'd project, and wondered how a
             | particular algorithm was written, e.g.
             | 
             | [1] https://opensource.google/documentation/reference/using
             | /agpl...
        
               | bccdee wrote:
               | Using mold to link your binaries is not the same as
               | linking mold itself. GCC is GPL'ed, but things compiled
               | with GCC are not.
        
               | spijdar wrote:
               | I think it's worth pointing out that regardless of what
               | is true or not true, Google has spelled out _their_
               | interpretation, and their explicit and (exact quote)
               | "aggressively-broad ban" on use of AGPL software within
               | Google.
               | 
               | Beyond the legal implications of software, there are
               | social ones too. I admit that I'm reluctant to use AGPL
               | software when a differently licensed alternative is
               | available, just out of a general stigma around it. I'm
               | not _defending_ that stigma, far from it, but I think it
               | 's fair to point it out, and point out that big
               | corporations like Google are very, very allergic to AGPL
               | (whether it's legally warranted or not)
        
             | lights0123 wrote:
             | As an example of a company that doesn't touch AGPL,
             | Google's policy is to "maintain an aggressively-broad ban
             | on all AGPL software": https://opensource.google/documentat
             | ion/reference/using/agpl...
        
       | berry_sortoro wrote:
        
       | dang wrote:
       | Related:
       | https://docs.google.com/document/d/1kiW9qmNlJ9oQZM6r5o4_N54s...
       | 
       | via https://news.ycombinator.com/item?id=33582179
        
       ___________________________________________________________________
       (page generated 2022-11-13 23:00 UTC)