Closed haf closed 6 years ago
The question that I cannot understand is "Why such license? Why not GNU v3 for example?"
Could you explain it to me? Thx
Of course, I've updated the initial post and will continue doing so.
Personally I didn't get the Microsoft part. There are many libraries which might using Microsoft library underneath and I may not be knowing that. Should I go and check everything?
I'm in favour of license. As I know how much it cost to run a business. But little advance notice would be great and also detailed explanation why and what and how part of it in blog...
There are many libraries which might using Microsoft library underneath
This isn't about MSFT, it's about the commercial web servers on .Net, and they are all Microsoft. Also, it's not about Suave; you're free to use any web server. I want to encourage people to do OSS and learn to be better software engineers.
and I may not be knowing that
Logary does a check, so it'll tell you.
Should I go and check everything?
No, you probably already know if you're using Kestrel is IIS as they are web servers, not libraries.
First thanks for clarifying the situation.
I think you will also need to make people accept some terms when contributing to Logary.
Yes, maybe that's true. What would that look like? How is that different from what's implied by contributing today?
I'm still confused by the term "commercial" web server. Kestrel is open source as far as I know - what's the distinction?
I'm still confused by the term "commercial" web server. Kestrel is open source as far as I know - what's the distinction?
In this case it's that I want people to continue innovating in F#, and from experience, if you have a server/library written in another language you tend not to peek under the hood. I want people peeking under the hood.
@haf I don't know what it should looks like.
The difference is that you will probably make moneys from people contributions. When I am contributing to a project I am ok to do it because I know it's free for all the usage.
Here I think this a special case.
In general, when I made a contribution to a project that was going to gain monney from it I needed to sign a paper stating that I was giving right to XXX to use my contribution as they wanted.
It is FOSS if you use it with FOSS though.
I don't think Swedish law requires you to sign anything since you contribute with your eyes wide open to the license. But I could add that as a jurisdiction to the license.
I'll consider it for sure, but I'm not sure what such a document would look like. "Please check this box to make explicit that you've read the license and agree to release any and all claims for monetary remuneration based on your contribution"?
Non-standard license hurts adoption. Companies don't have experience with that license and would avoid the risk of misusing library by not using it. Have you considered another dual-license options?
@haf So this isn't about commercial web servers or open source at all - it's about F# vs C#. And the only web server you can use this on for free is an F# one, of which there happens to be only one..
Even though all .net web stacks compile to IL and other F# Web stacks that sit on top of Kestrel are written in F#? Really?
@isaacabraham It's about having a vision for where F# is going and sticking to it. I'm sad there's only one web server in F# land; would have loved more innovation there. 2015 I asked Andrew to contribute Freya's model, 2016 there was the whole debacle about GC and I asked for help. I'm trying to make people cooperate rather than go with ready-made components by a large company; else they are abdicating the knowledge to do systems programming, which hurts F# in the long run.
Whether that company is Apple, Microsoft or Oracle doesn't matter. Do you understand where I'm coming from? How would you solve that?
@eugene-g Yes, I've considered Apache 2.0 for non-commercial and BSD 3-clause for commercial. But I miss the upside of having people make PoC and tinker and improve existing OSS in the F# world. What would you suggest?
@haf Even if that is the case, I'm sorry that I don't agree, because this adversely affects other certain F# web stacks that are built on top of MS tech, which to me is what this is really about.
You say this isn't about MS, yet that's exactly what is referred to in the license. You say it's about commercial stacks but haven't explained what that means. You then say it's about F# stacks - which has nothing to do with whether the server is managed by Microsoft or commercial.
I can't even debate this effectively because the rationale seems to be changing from day to day - and at the moment it makes no sense to me.
Sorry - I don't want to be negative about this or to someone who is creating lots of F# libraries but I don't know how else to understand this.
There are many reasons for changing the license. The primary one is a way to finance development and the secondary one is to encourage people to tinker with open source without having to pay for it. You seem hellbent on ascribing some sort of badwill to this, but that's your own idea, not mine.
This will essentially prevent almost everyone from using Logary if you adopt any license other MIT or Apache. Only the most hardcore users will adopt restrictions beyond those licenses. They will be few and far between (if they even exist).
I fully support your right to commercial support, and I believe you can do whatever you like and it would probably be justified in an idealistic way.
However, if you do this, you are likely just shutting the project down (sooner or later, as apparently you need funding to continue it, and I don’t think it’s coming). That’s also fine, if you are going in with your eyes open. It will be very hard to change the public perception on this issue if you happen to change your mind.
I’m sad to see logary go, but I hope things work out for you. I sincerely hope I’m wrong. Good luck!
This will essentially prevent almost everyone from using Logary if you adopt any license other MIT or Apache.
@adamchester So dual-licensed software prevents people from using it?
No.
So what do you mean?
I mean, I don’t think there’s a market for it, and I fear that means Logary won’t exist soon.
The people who like Apache/MIT will run away, and the commercial people won’t pay.
A paid high-performance logging library for .Net with good support and good targets doesn't have a market?
Why would people run away?
I fear that means Logary won’t exist soon
It's survived 5 years so far without commercial support. Your fears are groundless and I think you assume a bit too much now ;)
Apache/MIT people are totally spoilt, they fear almost everything else for [who knows what reasons]. And so, they will just avoid Logary.
There are already high performance logging libraries with good support and good targets and licensed under Apache/MIT.
Apache/MIT people are totally spoilt, they fear almost everything else for .
I don't think this is the case. Are you saying that you feel this way yourself?
There are already high performance logging libraries with good support and good targets and licensed under Apache/MIT.
Just because there are others doesn't mean you should stop innovating you know. You should browse the comparison between Serilog and Logary in the README. I'm sure the world is large enough for more metrics + logging + tracing libraries.
It's survived 5 years so far without commercial support. Your fears are groundless and I think you assume a bit too much now ;)
You are suggesting a primary reason is to finance development. That means a need for time/money. I can only go by what you are saying here.
You are suggesting a primary reason is to finance development. That means a need for time/money. I can only go by what you are saying here.
Sure, but it's not a binary scale; dead or alive. Saying that is demagogic. It's a matter of how fast we can move and how high quality we can have, as well as how much time we can spend on support.
Just because there are others doesn't mean you should stop innovating you know. You should browse the comparison between Serilog and Logary in the README. I'm sure the world is large enough for more metrics + logging + tracing libraries.
Agreed, it’s why I’m here, but will anyone in that world pay or accept the new terms? And when they don’t, will you expect they’ll still be waiting around for logary to change it’s mind?
I guess we shall see.
Logary has changed its license, and note has been taken that you don't like that I'm trying to make a living here off of a new version of a complex library. Thank you for your input @adamchester
I do like it, I support it.
Ok... so you're only really relaying concerns that other people might not agree with the license?
I think they won’t accept it, I hope I’m wrong.
I see. I hope so too. :)
Btw @adamchester; I'm not at all against sharing revenue from this if we can come to an agreement about what's fair between ourselves.
@haf I would love to not misunderstand, honestly. Please explain to me if it's not anti MS why it specifically mentions MS there, and if it's about F#-only, why it didn't say that. This is not just me - lots of people are asking the same thing.
Personally I don't understand why Kestrel is considered a commercial product, when it is not.
I've already answered these two questions.
This clause would likely require patent protection ~rather than copyright~:
The same constraint applies for the API signatures and general design
It's not copyright, it's a license.
Adjusted my comment. My concern is really that this constraint being applied to "general design" is way too broad to be able to effectively apply. The "general design" here could mean conceptual, in which it's not incredibly different from many other logging frameworks, or possibly the design of logging sinks/aggregators like logstash. Patents are a relatively effective means of protecting such concepts or mechanisms, as the process identifies the very specific intellectual property being protected. I'm not so much suggesting you get a patent so much as you drop that clause because it's currently too vague to uphold.
I don't know am I using a Microsoft web-stack (I'm using Azure web server, but nothing typical) and what are the licence costs for a small startup company and so on, so maybe I'll just stick with the old versions of Logary v4. I don't need any advanced features so any logging framework able to write to a file would do. I'll rather pay with PR's than actual money. I cannot reason why not to use an OSS as logging is never business-critical for companies.
Maybe making only C#-facade to cost anything would drive the industry to a correct direction?
JET.com will be publishing their open-source logging framework later, I think the motivation for them is to get new developers familiar with their systems without educational costs. I tried to recommend Logary for them, why would we need another Suave-vs-Giraffe-style battle when there is already Logary.
@haf Does using Logary with Suave in Azure web site need a commercial license?
Your vision for F# states "What should F# as a language contain? - A default logging framework like Logary". Color me confused but doesn't adding a commercial clause to the license move us away from that goal by removing Logary as a candidate?
@haf a small suggestion. as a reader of this thread it is difficult to grok what the current specifics of the license entails. Would it be helpful to, as points are clarified from this discussion, that those points are added to a new PR? this PR could target the main readme with a title of "license faq" or "license details". this also has the added benefit of, in the future, when people have queries about the license, you can point them to that new section.
@ninjarobot : I've updated the TODO at the top of the issue to reflect this.
@Thorium what are the licence costs for a small startup company
That is as easy to clear up as an e-mail conversation that takes an hour of your time. Send a query to henrik@haf.se, please.
I'll rather pay with PR's than actual money.
You've been contributing, but I'm sorry to say not on the level needed to keep the library going forward (even in aggregate with others). Had there been enough PRs to move the library forward I would never have made this change.
If you want to pay in PRs we can set that up as part of, in-part, or the as the full license cost?
I cannot reason why not to use an OSS as logging is never business-critical for companies.
I think it is actually; perhaps you haven't reached that scale in your company yet or you have a low write-load.
JET.com will be publishing their open-source logging framework later, I think the motivation for them is to get new developers familiar with their systems without educational costs.
This will probably lead to even fewer pull requests here then. I've also come to understand the OSS is used as a, sort of enticing backyard for larger companies, to improve hiring rates. But the more libraries, the more spread the community and the more strain on existing maintainers. If that's the case I'm glad I'm making this change ahead of that announcement, seeing how quickly people turned coat when that happened before.
Does using Logary with Suave in Azure web site need a commercial license?
Is that hosting on IIS? I'm not sure to be honest; can v5 run without complaining? What do you think should happen?
@hsorbo Your vision for F# states "What should F# as a language contain? - A default logging framework like Logary". Color me confused but doesn't adding a commercial clause to the license move us away from that goal by removing Logary as a candidate?
No. I try to be consistent, even if I fail sometimes.
Back to vision; Logary's facade is free to use and add to libraries as in the Facade; the large headache when writing OSS software (how to do logging in a nice way without reinventing the wheel).
Beyond that, you have at least one free web server to run on.
If you want to run on commercial servers then I don't see why you wouldn't help finance Logary; after all, we all work at companies that make money, and you're using software built by me; why not help me? If people actually pay me so I can improve this software, it improves for everyone: I don't see payment as something adverse.
If you work at a non-profit I can take that into consideration in your license request-for-quote.
@SimonCropp a small suggestion. as a reader of this thread it is difficult to grok what the current specifics of the license entails. Would it be helpful to, as points are clarified from this discussion, that those points are added to a new PR? this PR could target the main readme with a title of "license faq" or "license details". this also has the added benefit of, in the future, when people have queries about the license, you can point them to that new section.
I think that's an excellent suggestion.
@rkosafo as Azure App Service runs on IIS, this would seem to be in violation of the free licence, so no. You must pay to use Logary on it.
@haf "It's free with other open source that's free". That's incorrect. Kestrel is open source and free, but not allowed in the Logary license, by name. Please be careful because people will read this thread and see statements like that from you, and could potentially act on them.
Might I also suggest that you open up publicly what the license fees are?
I'm confused by the conflict between your stated summary of the license intent:
Logary as a library when used on IIS/Kestrel costs money; how much depends on how much you use it; quotes via e-mail. Logary together with other non-commercial OSS is free.
and the fact that Kestrel is open-source, yet you are requiring a commercial license for it.
You explained your reasoning at one point by writing this:
In this case it's that I want people to continue innovating in F#, and from experience, if you have a server/library written in another language you tend not to peek under the hood. I want people peeking under the hood.
But this still leaves me scratching my head. Why do you think that making people pay money if they're using Kestrel will make them more likely to peek under the hood? In fact, thinking about it a little, it seems to me that it will have the opposite effect: it will discourage C# devs from using Logary at all, and so they'll never learn to work with a new language. I want to reduce the barriers to adoption for C# devs to try out F#, not put more obstacles in their way.
Please reconsider: your decision is, IMHO, likely to harm F# adoption rather than help it.
@rmunn I've tried asking for clarification earlier in this thread but to no avail.
This ill thought-through license change appears more and more to be nothing other than an anti-competitive measure rather than anything intended to actually help the F# community in general.
You won't get more adoption or involvement by making people pay, people pay to NOT get involved. If I buy something I do so because I don't want to think about it, and I don't think I'm alone. Expecting devs to get involved in every part of the stack is naive IMO.
Also, adding a confusing license will also hinder adoption. I would have a straight OSS and Commercial license.
...if you have an opinion on it. Keep it friendly.
License as its stands in master/beta:
Motivations for the new license is:
GNU has a tendency to lock you in, it's extremely viral and can generally not be used with corporate software. I don't want that. I want people to be free to choose. I want the effect it aimed to bring: increased open source cooperation, but with a clean alternative.
Resulting TODOs: