SuaveIO / suave

Suave is a simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition.
https://suave.io
Other
1.32k stars 197 forks source link

Clarification of licensing? #704

Closed wallymathieu closed 6 years ago

wallymathieu commented 6 years ago

Due to this commit by @isaacabraham there seems to be a need to clarify questions regarding future licenses of Suave.

This seems loosely related to https://github.com/logary/logary/issues/351

isaacabraham commented 6 years ago

@wallymathieu Not really, we (the SAFE team) are pretty comfortable with the decision that's been taken and aren't looking for further clarification.

wallymathieu commented 6 years ago

Other users of Suave (besides the SAFE team) might have questions due to the decision made by the SAFE team. The text in the news.md file :

Due to the unclear future regarding the licensing of Suave and its dependencies

implies that there are potential issues with the licensing.

If the licensing is not really the issue, perhaps the news.md should reflect that?

isaacabraham commented 6 years ago

Let me rephrase. What we wrote in the news file still reflects our position; we're simply no longer interested in finding out and / or further clarifying those concerns.

ademar commented 6 years ago

Suave will always be open source and free. News of the contrary are just FUD promoted by people with an agenda.

You said we need to "clarify questions"; I'll be happy to answer any concrete questions you or others may have.

forki commented 6 years ago

The "agenda" is to provide a stack that can be recommended to people without fear of sudden changes like with logary. This is a trust issue. Unfortunately the logary license discussion did not restore trust.

Personally I think this can be fixed, but calling people "spreading FUD" is not really helping. I really really hope this can be worked out. Again, this is not about the current license.

Krzysztof-Cieslak commented 6 years ago

FUD promoted by people with an agenda.

Yes, I do have an agenda.

My agenda includes creating licenses that targets huge part of F# userbase without discussing license change with previous contributors, doing it in some random commit, and locking issue that was created to discuss it after the change which means that users of library cannot give their opinions on the change.

My agenda includes creating vision for F# that fits just my particular usecase and totally accidentally includes just my libraries.

My agenda includes announcing rage quit from OSS after someone dared to write blog post about different web library, and threatening to "leftpad" some libraries.

My agenda includes believing that MSFT created Kestrel (targeting 10 millions of developers) to compete with Suave. Or believing that if Phillip and Don showcases my project then they're working with community and when they're showcasing project of other member of community he's working against community

Oh wait....

Krzysztof-Cieslak commented 6 years ago

And now serious comment - as @forki said - for us it's trust issue and nothing more. OSS is build on trust and reputation - and I just don't trust one of the maintainers of Suave any more - and I think same can be said about other people building SAFE initiative. As far as I'm concerned the license of Suave doesn't matter right now.

wallymathieu commented 6 years ago

Then it's at least clearer to me what has been going on.

ademar commented 6 years ago

I must recognize I also share the concerns voiced here regarding Henrik's actions.

I'll ask you -Besides me personally guaranteeing the license wont ever change (FWTW), what else can the Suave organization do to restore the trust that have been broken?

wallymathieu commented 6 years ago

Sometimes when developers starts to become quite annoyed and behave in prickly ways it can be due to stress. I have no idea if that's the case here. Perhaps sitting down with him for some coffee if you are in Stockholm (or he is in X) and talking about it could help?

varon commented 6 years ago

@ademar It's very hard to restore trust when it's been broken. I'm using Sauve in production, and seriously considered migrating away from it after the SAFE stack announcement.

Usage together with ASP.Net/Kestrel/Internet Information Services (IIS) or in conjunction with any/all Microsoft web stacks requires a commercial license. The same constraint applies for the API signatures and general design — a commercial license is needed if used in conjunction with any/all Microsoft web stacks. E-mail henrik@haf.se to purchase a commercial license.

This looks at best nothing less than giving the middle finger to anyone using these, and at worst a horrible money-grabbing attempt.

So far, the entire experience with the F# community is that all participants, libraries and frameworks are extremely open, free, and friendly. Using someone's library requires a lot of trust. Certainly not something many will be willing to place in someone who has acted in an extremely despotic and antisocial way to the rest of the community.

An apology, reversion of the logary license changes, and a legally binding written statement that the licenses will always remain free would help restore some level of faith in the project.

ademar commented 6 years ago

"An apology, reversion of the logary license changes, and a legally binding written statement that the licenses will always remain free would help restore some level of faith in the project."

@varon You are referring to what Henrik did in his own project which I do not have any control about. I do not own Logary; I can not apologize for what Henrik did in his project. I do regret what he did. I also feel it is not fair to throw Suave under the bus just because Henrik is a maintainer here. By inferring that Suave may change its license you are jumping to conclusions.

Henrik does not own or control Suave, I do. As such I'll be more diligent making sure that no more underhanded dependencies make its way into Suave's code base. I'll also will start working towards providing such legally binding guarantee that Suave will be always free but this may take a little time to produce.

At the end of the day I don't really care if you trust me or not; when I gave my contributions to the public I wasn't thinking of you nor I was expecting any recognition. I am sure that Suave will still be found useful by many other people and that will make me happy.

haf commented 6 years ago

I think I have to respond to some of the more gregarious personal attacks by @Krzysztof-Cieslak here... Not that I truly think I'll change his mind, but for the rest of you.

My agenda includes creating licenses that targets huge part of F# userbase without discussing license change with previous contributors, doing it in some random commit, and locking issue that was created to discuss it after the change which means that users of library cannot give their opinions on the change.

If you read that thread, you'll see that:

targets a huge part of the F# user base

While true, doesn't mean it has uptake. Serilog, NLog and log4net has the mind-share and the up take of users, even amongst F# devs, which you will find if you ask around. This is perfectly fine with me.

doing it in some random commit

That could have been done better, none the less, there was no defaulting to a new license as at that point the software was pre release and not working well at all (as discovered during the stress testing); and it was not published as a nuget until much later. All licenses change in some commit and I have discussed it with those who have worked on the core of Logary with me.

locking issue that was created to discuss it

That was actually done at about the same time @Krzysztof-Cieslak went through every single one of my replies, adding laugh-at-emojis and @isaacabraham repeatedly saying that I was contradicting myself without actually answering my question about how he would like the license to look (besides: like before).

In fact, it was locked down to collaborators after the above happened for the reason that I'm a human who can only take so much crap in a single sitting. I needed a break. Now it's open again.

Generally about Logary: it has from the start been my baby and an experiment and admittedly been written in a pretty different way; something that has hampered uptake. Given that there are other mature logging frameworks that you can use, you don't really lose anything from this change, no matter what stack you use. Take for example: https://www.nuget.org/packages/Suave.SerilogExtensions/ and the fact that the Facade is Apache 2.0 open for everyone to use however they want. Besides that, v5 is a completely new version that I've done myself with some major help from Jun. It's not even derivative work, since I've built all of the core of all versions of Logary. Furthermore, you can use v4 which is completely free.

My agenda includes creating vision for F# that fits just my particular usecase and totally accidentally includes just my libraries.

Yes, of course I work towards my own vision and I try to create libraries that match it. Am I to write a vision after having produced nothing? What credibility would I then have?

My agenda includes announcing rage quit from OSS after someone dared to write blog post about different web library,

I have in fact quit releasing new open source projects after that entry. The basic premise I would prefer people act by: if something exists and works, let's work together on it. Microsoft publishing that blog entry, promoting a copy of the Suave public API is MonoRail all over again for me. If you can't emphasize with that, I'm sorry for you.

and threatening to "leftpad" some libraries.

Only in a very circumspect (aka FUD) and hostile way can that tweet be interpreted as a threat. I can assure you it was not a threat (do you see the two exclamation marks?). DotNetZip got an awesome maintainer from that tweet, and has been moving forward since then, being used in embedded systems world-wide.

In the end, we're talking free software here. I've changed a license for a major rework/version of a library that I've built from the first commit without much help (contributions have been about targets + the awesome literate console target). I think I've explained enough of my reasoning here and in the linked threads; and you have to make of it what you will. I don't have to apologise to anybody.

In the end I enjoy seeing people using my software and being happy about it, but I enjoy collaboration more. The license of Logary is still up for reasoned and friendly discussion, but we keep getting back to the bitter and frustrated replies. If you feel that way about me, then perhaps you should either assume goodwill until proven otherwise, or promote some alternative library? But can you please stop the attacks on me?

varon commented 6 years ago

Henrik does not own or control Suave, I do.

@ademar It's very reassuring to hear clarification on the ownership of the library. Your statements on the licensing and plans are the best we could have asked for.

Could you explain what's going on with it's removal from the SAFE stack?

isaacabraham commented 6 years ago

@varon SAFE itself is not a technology as such - it's (just) a stack of a number of F# technologies. So your Suave apps will continue to work with Fable etc., nothing is about to explode or anything :-)

However, the SAFE site no longer includes Suave as a "recommended" element, and we will not be providing documentation or featuring Suave on the site. We will also not be maintaining the Suave element of the SAFE template going forward, so e.g. new features will not be added to Suave in the template; I imagine it will eventually be deprecated from the template completely.

varon commented 6 years ago

@isaacabraham I'm aware, but given @ademar 's very clear statement on the licensing and ownership, could you motivate why it was removed?

isaacabraham commented 6 years ago

@varon I think the comments from @forki and @Krzysztof-Cieslak explain the situation relatively succinctly - it's ultimately more than just this one licensing situations but speaks to bigger issues that this highlighted.

I don't want to make this a personal attack on anyone - everyone has the right to have a difference of opinion on their vision of how F# libraries should evolve, and that's fine. By that same token, we've decided as a team that the SAFE stack is going to focus on the Giraffe / Saturn / ASP .NET core web server going forward.

This is probably something that should be better discussed on the SAFE repo rather than this one - if you want to discuss further, perhaps feel free to create a new issue there (or just email me privately).

Cheers

ademar commented 6 years ago

"Could you explain what's going on with it's removal from the SAFE stack?"

@varon It does not mean anything. The SAFE stack is these guys here

The SAFE stack is whatever they decide it to be. It is just some specification that supposedly they are going to "support" (it is about money). https://safe-stack.github.io/docs/support/

isaacabraham commented 6 years ago

@ademar No, SAFE itself is not about money. Quoting from the home page of the docs:

The SAFE stack is an open-source, free, flexible end-to-end, functional-first stack for cloud-ready web applications that emphasizes type-safe programming.

That's all it's about - making it as easy as possible to create F#-first applications that work across the web stack. The SAFE is completely open source and free to use irrespective of which other packages you use or runtimes you host on - something that I need not remind you is one of the elements that started this whole issue off in the first place.

There is undoubtedly a commercial support element that consultancies provide - and that's something that was asked for by several people in the community using the stack, either because they want professional support or because they want to show to their managers that there is a professional support element if required. You don't have to pay a penny to use the SAFE template or anything else.

P.S. I'm also not sure what you mean by "supposedly" - perhaps you can clarify?

wallymathieu commented 6 years ago

I feel that this issue is answered, can I close it @ademar ?

ademar commented 6 years ago

Yes, you can close it. Thanks.

On Thu, Jun 28, 2018 at 1:54 PM, Oskar Gewalli notifications@github.com wrote:

I feel that this issue is answered, can I close it @ademar https://github.com/ademar ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/SuaveIO/suave/issues/704#issuecomment-401120178, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIl_JW3xue47umQnBrOHfgA3Vbopum3ks5uBRhqgaJpZM4U4uP7 .

-- Ademar Gonzalez +1-647-891-3606 http://ademar.name https://github.com/ademar

wallymathieu commented 6 years ago

I'm closing the issue.