So, here's a bit of a personal blog post for once.
Symfony trademark policy
I saw this tweet:
Suite à une mise en demeure, j’ai retiré les tutoriels qui concernent Symfony du Site. Il n’y aura pas de futures vidéos sur le Framework.
— Grafikart (@grafikart_fr) March 11, 2017
Meaning: "Following a formal notice, I removed the tutorials that are related to Symfony from the Site. There will be no future videos on the Framework."
I got mad. I had heard of other people having trouble with Sensiolabs' trademark policy and I once had difficulty getting permission to use "Symfony" in my "Hexagonal Symfony training tour" (which became the "Hexagonal Architecture training tour"). So I tweeted about it:
A big problem of the @symfony/@sensiolabs ecosystem if you ask me. https://t.co/RRCge5g1gm
— Matthias Noback (@matthiasnoback) March 11, 2017
I thought it would be good to speak up. It's a really scary thing to do anyway. It's not in my nature to voice criticism publicly like this. I know that doing so will make things harder, and close certain doors.
Regret
However, not long after the initial tweet by @grafikart_fr
, Fabien Potencier (lead maintainer of Symfony) tweeted:
I’ve given 12 years of my life to Open-Source and #symfony. Every. single. day. since. 2005. Investigating @grafikart_fr story internally.
— Fabien Potencier (@fabpot) March 11, 2017
And also:
Very sad day for me. I can tell you.
— Fabien Potencier (@fabpot) March 11, 2017
This made me feel really bad about myself. I don't want to play a part in someone's sad day. Of course.
As you know I’ve always been a big fan of Symfony and Fabien's work on it. I have learned a tremendous amount of things from using it, documenting it and creating open source tools for it. So: dear Fabien, I'm sorry for my act of public shaming. It isn't good style.
Here's the lesson I'm trying hard to learn in my life: voicing criticism isn't equal to saying that everything you are, do or create sucks. In fact, my girlfriend warns me about this when she gives me feedback and I "cringe": "I'm not saying that your personality sucks, I love you, don't forget that." I think that this somehow applies in this situation too. Fabien, please don't feel rejected.
Earning money with open source
An interesting perspective on this topic was brought up Jordi Boggiano:
@matthiasnoback it's a challenge when OS projects become too big to be hobby projects.. Making money around OS is not as easy as many think.
— Jordi Boggiano (@seldaek) March 11, 2017
It was interesting because I didn't consider it to be relevant at first. It has never occurred to me that Fabien didn't earn enough money to justify all his open source work. Well, maybe he has, but that doesn't matter. Working on open source and earning money with that is something that's rather hard to accomplish. Examples of these are Jordi's own experiences with maintaining Composer. And I can very much relate to this too. Many people, including rich people, and many companies, including very successful ones, assume they can demand a lot of free work from open source maintainers. Starting to ask money for essentially the same thing, is often met by outrage (or silent neglect), so it's really hard to run an "open source" business.
For the past few months I've been trying to pick up what you could call my "master plan". I hope to organize workshops and do freelance programming jobs, thereby financing all the unpaid "open source" work that I love to do, like blogging, speaking at meetups and conference, and open source programming. I've learned two things already:
- You can't take it for granted that people will pay you for work you've always done for free (like book writing, or organizing workshops).
- You need to sell yourself and your products. Marketing is very important.
Marketing is also very annoying, and personally I'm just way too modest to keep throwing commercial messages at my audience. It's quite a personal victory to even show a banner for my new book on my blog. I know though, that in order to do all this free work, I need to sell stuff too, so I hereby assume that you'll understand that I'll do a little bit more work in the future to properly market my products.
Conclusion
What I'm saying is that I totally get that being lead maintainer of an open source framework (or package manager, etc.), and trying to compensate somewhat for everything you've given away for free, can be very difficult. And I totally understand that the Symfony trademark needs to be protected too. The Symfony brand has been carefully cultivated. I just hope that Sensiolabs will be more careful about dismissing some - I think - proper uses of the Symfony trademark and logo. I assume they will, based on what Fabien already tweeted tonight:
But we did a mistake. I’ve asked him to re-publish #symfony tutos as soon as possible. We (of course) do encourage such initiatives. 2/2
— Fabien Potencier (@fabpot) March 11, 2017
Be careful, "symfony" is not allowed to be used in your (sub) domain. ^^
why ?
It's hard to make money from open source, but...
Sensio could produce a commercial set of bundles and a nicely integrated framework on a monthly subscription (like Laravel Spark but supercharged https://spark.laravel.com/). Subject to non-enterprise pricing I would pay for it. To have the peace of mind that a bundle will be updated, and that my development time is less would be worthwhile.
Contributing to an open source framework and giving everything for free is difficult to maintain. I guess their policies are fair enough.
The Symfony trademark policy, as published on their website, is surprisingly strict and yet not very precise at the same time - everything deemed "commercial" can be banned according to the wording, which is basically everything.
I also like Symfony and think that they didn't plan on their trademark policy being used to ban educational content, but when you phrase it the way they did the chances are high that somebody in the company will actually enforce it - I have noticed that myself in projects where I created policy and other people enforced that policy. Everything you leave up for conjecture will be interpreted in very different ways by different people, and the only way of solving these problems is to be very specific in your policy, otherwise you end up with unintended side effects. So it is nice that Fabien solved this case, but this is bound to happen again if the trademark policy can be interpreted in a repressive way.
Impersonating Symfony is of course something which should be held in check, to avoid confusion or harm the "brand", but anything just referring to Symfony should be allowed, because it expands on the framework. Maybe this incident is a good reason to solve some of the trademark usage confusion.
"The Symfony trademark policy, as published on their website, is surprisingly strict" ... I don't know if it's strict or not, but it's a copycat of the Ubuntu policy. And as pointed by Fabien in this article (http://fabien.potencier.org... it's almost identical to the policies of every major Open Source project (Linux, Node.js, Drupal, WordPress, etc.) So anything that we can say about the Symfony trademark policy can be applied as well to the entire Open Source ecosystem.
The basis is the same, but in terms of exceptions and usage they are not quite the same - and these projects are also not completely comparable. They do share a similar dilemma: It depends a lot on how and by whom these policies are enforced, and not on the policy itself, because it is largely open for interpretation. Fabiens article was great and it is reassuring that he really tried to get to the bottom of this and also make changes for the future, so I am confident the Symfony world will be okay for now.
In the long-term it would probably still be sensible to find some clearer definitions on what is allowed and what not, especially when it comes to teaching/courses/education - so when somebody reads the trademark policy they immediately know what would be allowed and what not. As Fabien pointed out this may not be easy at first, but over time the lessons learned by enforcing the policy could be used to clarify the policy - for example by defining "commercial use" to not include teaching videos or blogs (maybe with some caveats), and by including some examples, like in Fabiens article. Then the policy starts to speak more for itself.
Very sensible post. Great level of maturity shown. Thx.
I promise to forgive you in advance for all the crappy advertising you might introduce in your blog going forward :-D :-D :-D. It's too interesting anyway to stop reading it!
I would guess the issue with Symfony and Fabien and what happened to both you and Graphikart_fr is that someone has what I call the "gatekeeper syndrome". There is probably a better scientific name for it, but basically the gatekeeper syndrome usually shows its ugly head because someone with an unfortunate inferiority complex has the job of "protecting" something they feel is greater than themselves. So, instead of making smart judgements, the gatekeeper uses their newly given power of protection to persecute others, which makes the gatekeeper feel better personally, but is usually not in the best interests of what is being protected.
It is either that, or the rules about what needs protecting, and how it should be protected, aren't clear enough.
Either way, it is fixable.
Scott
I don't know if Symfony suffers this syndrome, but as explained in this article (http://fabien.potencier.org... Symfony is not doing anything special. Symfony is as strict or as open as Drupal, WordPress, Linux, Node.js, etc.
This things should not happen, its opensource for a reason and a name is just a name, if they want no monetize, and it should to keep paying developers and other stuff; they should doing it by events, books, conferences, training and so on, but cut down community work is just a big step back. Hope sensiolabs re-work their strategy on this
As you can read in this article (http://fabien.potencier.org... the specific case about Grafikart was a series of mistakes and they even fired they lawyer firm because of this. Regarding the trademark policy, Symfony applies the same rules as the rest of the important Open Source projects (Drupal, WordPress, Linux, Node.js, etc.) so there's nothing special about it.
You are a good guy Matthias!