1. 27
  1.  

  2. 13

    Seems like relatively large holes. It exempts “educational institution[s]”. Does Google count, because YouTube has tutorials?

    Also, you get a perpetual license if the licensor does not “offer a fair commercial license”. What is a “fair license”? It’s later defined as “for a fair price, on reasonable terms”. What is reasonable to you might not be reasonable to me. If Apple objects to your price, does Tim Cook get to use your code forever? A “fair price” is later defined as, basically, “anything I can get someone to pay”. But how do you bootstrap this? If no one has paid for my BTPL code, there’s no fair price?

    It’s also very unclear if this license permits modification of the code.

    1. 3

      It exempts “educational institution[s]”. Does Google count, because YouTube has tutorials?

      It’s important to remember disputes are handled by human judges that try to apply a mix of legal analysis and common sense to such interpretations. The common use of educational institution is an organization that trains people, usually issuing credentials. A judge with common sense would probably treat Google as a massively-profitable, advertising business. Youtube itself is also hitting people with more ads now to push Premium. They even imply they’re doing that in the Premium advertisements. That could easily show Youtube is both an advertising and paid-streaming business.

      1. 5

        Cases have been lost or won over a comma. I wouldn’t assume that an untested license will be interpreted the way you prefer.

        1. 2

          Moreover there are countries where the law says that Google just isn’t an “educational institution”, because a company has at most one activity sector and Google’s main activity isn’t about education. That’s how it works in my country: companies can’t easily cheat here.

        2. 2

          I upvoted you, because you have good points, but this license was written by a lawyer. I would hope he knows what he’s doing.

          1. 3

            Agreed. I had a lot the same questions. It all seems a little too vague to be workable without more clarifications added given a context. I suppose we need to consult a lawyer about this lawyer’s blog post about his license.

            1. 2

              I think the point of this sort of thing is that those clarifications are basically hookable access points for discussing/settling things in court. The “fair price” part is something that you can argue in court and get precedent on.

          2. 1

            But how do you bootstrap this?

            My understanding is that the fair price clause does not preclude the licensor from selling the software at any other price. The idea is that you first sell to one big business who is paying some money despite the lack of a known fair price, and this becomes your fair price. Afterwards you can force everyone after that to pay the same price.

            Obviously if the whole industry forms some kind of alliance to never buy from you, you’d be stuck. But in reality, if your software is minimally commercially viable, you’ll eventually find someone willing to pay. (And if you find the whole industry working against you, you’re in bigger trouble :)

            The “market price” wording also provides a fallback option. If you are still struggling to sell the first license, you can sell it at a price at an obviously low market rate, and that would automatically be considered a fair price. This doesn’t preclude you from raising the price to other licensees later.

            1. 3

              But it seems realistic that the first commercial customer is one who seeks to upgrade from a non-commercial license. From that point, you have less than 32 days to determine a fair price. That seems difficult.

              The “market price” in the world of FOSS seems hard to determine to be anything other than 0. If I’m making a server focused kernel under BTPL, is the “market price” $0, since that’s the price for the biggest players in the space? If I make a compiler toolchain, is the market price $0 since all the world-class compiler tool chains everyone uses are free? Or do we determine the “market price” based on the price of the commercial players in the space which nobody actually uses? And even if you use the price of the commercial players in the compilers market (to the degree that they exist), you’d end up with a price that’s seriously depressed thanks to the competition from free players, right? Is that price really “fair”?

              1. 2

                You have great points.

                Personally, I think businesses would be more inclined to pay if they could get the same FOSS license as everybody, but purchase liability protection on top of that because just about every FOSS license disclaims liability.

                And honestly, if someone’s paying you for your software, shouldn’t you, in return absorb some or all liability for that software? In my opinion, this is something the industry got entirely wrong.

                1. 2

                  I assume you intend that the project would be carrying insurance for this, but I (naively, as I know zilch about this kind of insurance…) wonder who would insure it credibly for any reasonable amount without direct access to whoever is using/deploying the software to understand what kind of risk/reward they’re playing with?

                  I’m having a hard time imagining any blanket liability protection arrangement being durable, so I imagine the liability would have to be extensively lawyered. At that point, I definitely wouldn’t be liking my odds, with corporate lawyers on both ends, of drawing anything but the shortest straw.

                  1. 2

                    I think you are correct. I guess my vision about accepting liability also hinges on us being able to develop practices that we call “professional,” like professional engineers. Engineers don’t have liability for something they couldn’t have known, for example, but they are liable for harm caused by negligence.

                    1. 2

                      That makes sense. I do feel like it would align incentives toward quality, testing, and humility.

                      I think I’m mostly just commenting from a software-is-weird-in-ways-that-seem-hard-to-insure perspective.

                      I can imagine an engineering firm being able to procure liability insurance for a bridge-building project, and I can imagine that relationship getting really weird the first time there’s a claim and the insurer realizes it’s for a copy of the bridge carrying hazmat trucks over the Museum of Irreplaceable Cultural Artifacts and Huggable Puppies. And they investigate a little and realize they’re on the hook for thousands of these bridges.

                      Or the first time they refuse to pay out because dependencies have been updated since the agreement.

                      1. 2

                        Your comment was both very funny and very true.

                        Yes, I agree that software might be hard to insure. I just hope we can work toward a world where it makes sense to.

                        Thank you for this discussion; it helped me realize some blind spots I have.

                2. 2

                  The “market price” in the world of FOSS seems hard to determine to be anything other than 0.

                  The fact that you can use a piece of software for free does not make its market price 0. For example, you can use public roads for free, but there is a very real price on how expensive roads are. The “market price” of FOSS can be approximated by the price of similar non-FOSS software, or how much companies who hire full-time FOSS developers are paying them. Of course my interpretation is not the only possible interpretation, but the author being a lawyer, it is probable that they know that this is how the court will likely think too. Law is not pure philosophy.

                  There is another mechanism that will determine the market price. If your software is really popular, sooner or later a big company with deep pockets will be willing to pay, just to write off the legal liability. At that point they will compare the cost of your software with other similar commercial software and the cost of developing the solution in-house, and they will be willing to pay as long as your price is lower than the alternatives.

                  Again, all of this is based on a somewhat optimistic outlook of the software market and some faith in the big companies. In fact, the author pointed out that the entire non-commercial clause is based on the honor system. As long as there are enough honest customers you’d be good.

                  Another thing is the context to interpret this license in. I keep feeling that the author must still have projects like Babel (which he dealt with in Sell Babel 8) in mind. This license is not optimized for maximizing your profit, because many companies simply won’t pay. It is a compromise intended to let developers of very popular libraries to reap a somewhat proportional profit - which will not be as high compared to selling commercial software, but definitely much more than voluntary donations.

            2. 3

              The license seems reasonable, but I would cross-out the “fair price” part. There are companies/orgs I don’t want to cooperate with at all, at any price.

              1. 2

                Look at it from the perspective of a company that wants to become large, assessing your software under this license without that clause.

                Eliminating the ‘fair price’ clause would drastically increase the risk associated with using software under this license.

                1. 1

                  It is an increased risk, but I’m hoping that companies that evaluate it would discount it: if they start making millions, they’ll be able to afford to rewrite whatever I wrote. If they’re really worried that my code is going to be an irreplaceable part of their business, they can ask to purchase (an option of) a perpetual license.

                  1. 3

                    I get where you’re coming from, I really do. But speaking with my either my corporate or my startup due diligence hat on, I would never advise a client to take on software with this license in the absence of that ‘fair price’ clause.

                    It is an increased risk, but I’m hoping that companies that evaluate it would discount it: if they start making millions, they’ll be able to afford to rewrite whatever I wrote.

                    My current client went through that recently - from plucky startup to multi-national listed company in the span of a few years.

                    At no point have we ever had the resources to rewrite anything but the absolutely most trivial of libraries (leftpad, anyone?). Sure we may have a lot of money to spend on developers - but all of that effort is being spent on product development to maintain our incumbent position (in some regions), or establish ourselves as same (in others).

                    We do spend up big on cloud and SaaS products though, from providers big and small. Because it’s much easier to buy those in, and focus our precious developer hours on product development. We’re not reluctant to spend money, we’re reluctant to spend developer time. That’s much more precious, and not as easily exchangeable with money as you might think in a rapidly growing business in a new market.

                    A license that requires us to spend money to use if we grow big? Sure. A license that might require us to rewrite everything because the author(s) pack a fit about our business for some reason? No thank you.

                    If they’re really worried that my code is going to be an irreplaceable part of their business, they can ask to purchase (an option of) a perpetual license.

                    Again, sure, that’s fine - and it’s actually a lot more honest and transparent than some SaaS providers who suddenly jack their prices just because they can.

                    But if I thought such a license may be denied at any time simply because you don’t like my business … no thanks. Hard pass.

                    1. 1

                      if they start making millions, they’ll be able to afford to rewrite whatever I wrote.

                      Depends a bit on what the project is; I don’t think you can rewrite a database in the time frame the license allows for example, no matter how much money you have, or a compiler, or any number of complex projects that usually take years to reach maturity. And depending how you use the Big Time licensed project it may not be easy to migrate either.

                      I don’t know if this will work well in practice either, but personally I think it’s a good thing people are trying out new ideas. Maybe 9 out of 10 will fail, but that’s true for most things.

                2. 2

                  what is the significance of 128 days? (The grace period after a business stops being “small”.)

                  seems like an oddly specific amount of time.

                  1. 2

                    I think the license author just liked powers of 2 (later they use 32 days as well).

                  2. 1

                    I’m quite curious about how semver snuck into the license name. Is that common? I love it.

                    1. 1

                      Hmm, I haven’t read this closely yet, but one big part which seems to be missing is commercial hobby projects or amateur pursuits? If I wanna use something under the BTPL in a hobby project, but I anticipate earning a little bit of money from that hobby project, am I not permitted to use the BTPL-licensed software unless I start an LLC?

                      Like, I’m currently working on a small game. I don’t have a “small business” company, I’m not a “charitable organization”, I’m just a hobbyist. But I anticipate a commercial application; if I get the game to a place I’m comfortable with, I’ll try to put it on itch.io or steam or something for a few bucks. From my reading of the license text, I don’t think I would be allowed to use any BTPL-licensed software in that project.

                      1. 2

                        You’d automatically be a sole proprietor, or small-business owner, at least in the U.S.. Check with the laws wherever you’re at to see if conducting business over there makes you legally a business. Stuff like permits might be considered separately from or together with that. It varies.

                        It gets more interesting if you sell across borders or through a service hosted in another country. I’m not sure how much their laws apply to you in that case.

                        1. 2

                          I’m in Norway, I think our equivalent of the “sole proprietorship” is what we call an “enkeltpersonforetak”, and you have to register those, they’re not automatically “created” when you conduct business. I wonder how the BTPL would work in that case.

                          Seems best to just have it written out explicitly in the license, right?

                          1. 1

                            Maybe define business as any entity using the software for commercial puposes. Then, specify size from there.

                        2. 2

                          Law is interpreted, it’s not logical like a program, the spirit of the law is also important. The license is pretty clear in spirit, you are totally fine until you hit “big company”(which is clearly defined). Anyone dumb enough to take you to court over this license is almost certain to lose, unless you happen to be defined as a big company at the time of the lawsuit, which in your scenario you clearly are not.

                          Law sometimes tries to be all logical, but it usually fails. Law will likely never ever pass a compiler type check, let alone a full compile.

                          1. 1

                            That’s a good point. I would think that your case would fall under the “small business” criteria since an individual selling a commercial license would meet the criteria, but I’m really not sure.

                            1. 1

                              Maybe? But I’m having trouble seeing how “You may use the software for the benefit of your company” might apply when there is no company. IANAL though.

                          2. 1

                            While an excellent attempt at a non-commercial FOSSware license, it sounds like PolyForm’s NonCommercial is still my go-to. Keep it up though! Let’s see BTPL 1.1.0.

                            1. -2

                              Another shitty license, better use MIT/BSD.