This blog post has been written after some concerns expressed on Twitter and Reddit about how SensioLabs manages the Symfony trademark. If you want to read the details about the Grafikart issue, scroll to the end; reading the whole post is recommended though if you want to understand the whole story.
Unlike many other Open-Source projects, I chose a name for my little framework late in the game: just before open-sourcing it and more than a year after working on it. "SensioFramework" was its name when it was used internally for SensioLabs customers. But when I decided to open source the code, I wanted to find a different name: one that would help the framework have a life on its own, along side SensioLabs. I wanted to experience the "true" Open-Source adventure. The framework would have its own community. Its own rules. Its own agenda. Symfony was released in October 2005. And I'm proud of what we achieved; I would never have imagined what it would become.
Symfony is a great name, but as with many great names, it is used by many companies around the world (the fact that I chose to replace "ph" by "f" does not have any impacts in terms of trademarks; it just gives Symfony its own little personality; it makes you a little uncomfortable the first time you read it, but feels like your family name after a little while).
I learned a lot during the symfony 1 era. But problems began to surface with the growing popularity of the framework. Technical ones of course, but also administrative ones; trademark ones.
Symfony is a generic name used by many big corporations around the world; like "IBM Lotus Symphony". Remember when Firefox was named Phoenix? Phoenix was renamed to Firebird and then to Firefox due to trademark issues.
2010 was a key year for Symfony. Symfony version 2 was in the works, we migrated to Git and we were working on a new website for the framework. But what about the name? A new major version is the ideal time in the life of a project to change its name. Instead, I decided to double-down on Symfony. I started the long process of registering the trademark to protect the name; I wanted to be sure that nobody would ever be able to force us to rename the framework to something else - a process that would be very damaging to the entire project. Unfortunately, this is when issues began.
Registering a name means that companies with similar trademarks get notifications. And of course, they start to fight you. IBM was not the problem. But a small US service company was able to block our registration in the US and in Europe. At this point, I had registered the trademark in France only. But for how long? I remember meeting at this very moment with several key community members during a SymfonyLive conference in Cologne. I told them the whole story: the prohibitive cost of lawyers, and more. They were all very supportive and I decided to fight. I decided to do whatever it took to defend our brand. But I also made another decision back then: I would be the one responsible for ensuring "good" usage of the brand. It took me years to win, but I won. I bought the "symfony.com" domain name from a guy who "squats" many "valuable" domain names. I got "symfony.net" for free from its previous owner (a broker) as I had the French trademark (thank you). And I was never able to get any replies from the owner of "symfony.org", too bad.
I unveiled the symfony.com website during the most memorable SymfonyLive international conference in Paris ever. And it already had the Trademark and Logo Policy page. As mentioned at the top of the policy, I did not write it, I just customized the "Ubuntu trademark policy", which is published under the CC-BY-SA license.
Why do we have a trademark policy? I'm a French engineer... and like many of my peers, I like processes, I like perfection, I like rules... I don't like surprises, I don't like uncertainty. That is probably one of the reasons why Symfony got processes early on: the predictable release process, the security issue resolving process, the backward compatibility promise, a maintenance plan, ... and the trademark policy. All these documents govern the fundamental ways in which Symfony operates. The way we work together. The way we can on-board people more easily. The way we can grow the community with confidence.
I mentioned Ubuntu, but many Open-Source projects have such trademark policies with very similar restrictions:
Node.js: "You need express permission if you plan to host a public commercial event or a conference that uses a Node.js trademark [...]"
WordPress: "We will grant permission to use the WordPress name and logo if your project is non-commercial in nature (it can make money to cover its costs or contribute to non-profit entities)."
Drupal: "The license grant procedure must always be followed when the Drupal trademark is used in a domain name, title of a website, title of a seminar, title of a course or title of a software package that is not exclusively intended to foster the Drupal software."
- Linux: "Do not use logos or names of The Linux Foundation in any commercial or marketing context other than as expressly permitted in this policy [...]"
Open-Source is about the code: the code is free, the name is not. You are free to use the code, tweak it and customize it. But you are not free to do whatever you want with the name. There are rules. Being explicit about them is important. The trademark policy is not used to restrict usage of the name, quite the contrary. Its main purpose is to define when you can use the name without any permissions from the trademark holder.
One of the main points of protecting the brand is to avoid confusion. Is it an official tutorial? Is it an official training? Are these people really experts in Symfony? Let me give you some examples I had to deal with recently.
From time to time, we even receive calls from companies yelling at us because the Symfony training they paid for was really bad... except that they never bought anything from us. They contracted with a random company doing a really bad job. This has a negative impact on Symfony and on its community.
Now, onto some more specific examples.
Would you allow a website to be named "symfony.es"? I would say that it depends. If the website is a community website about Symfony targeted at evangelizing the Spanish market, I would say yes. If it is a company that tries to sell Symfony trainings, probably not. And of course, I gave authorization to Javier to use the symfony.es domain name. The same goes for many other community initiatives like symfony.se for instance.
Would you allow a website to use "symfonyexpert.com" as a domain name? If the website is a free forum where people help each other, probably yes (depending on how the brand is used on the website). But a company selling expert Symfony developers? Which spams the symfony.com blog (true story)? I would say no. I would say that we need to take them down. That is exactly what we did.
I receive many trademark usage requests. I don't have the exact numbers in mind, but I think I refuse half of them on initial request. But it is not always clear cut. Most of the time, a few back and forth emails are enough to find ways to make some changes to the project and let it use the Symfony trademark.
That's what happened with a book about the Symfony certification. Raúl Fraile contacted me before publishing his book. Raúl is a certified Symfony developer, so he had access to exam questions; and he agreed to never reveal the details of the exam. But at the same time, I want to encourage books on Symfony, and any contents about the framework for that matter. The title he had in mind was confusing ("Symfony Certification"), the URL was confusing as well as it was just "symfony-certification". We didn't want people to think they were buying a book with real exam questions. We agreed to keep "Symfony Certification" as a title, but with a sub-title of "Unofficial self-study guide". The URL was also changed to "symfony-self-study". This is a great example of a commercial project for which I gave the authorization to use the Symfony trademark on a very sensitive topic.
And the rules apply to SensioLabs as well. We could use symfony.fr to sell our trainings in France, but we do not. As SensioLabs CEO, I want my company to be successful, but more importantly, as Symfony lead, I want the project to expand beyond my wildest dreams. That's why I wanted a separate name for Symfony in the first place: having a clear separation between commercial activities and Open-Source work.
Of course, I'm also an entrepreneur. Symfony was created to fulfill the needs of our customers. I created SensioLabs almost 20 years ago and Symfony will turn 12 years in 2017. And we are still trying to find a sustainable business model around our Open-Source activities. I decided early on that Symfony would never had a paid version. So, our revenue mainly come from training, expertise, and SaaS products like Blackfire.io.
To evangelize the market, we also created a partner program. It has been a great success so far and our partners are doing a great job at educating the market. They propose trainings, expertise, and more broadly, they are advocating Symfony in countries where SensioLabs does not have offices. Being a SensioLabs partner means that they have the right to use the Symfony and SensioLabs trademarks in a very restrictive way and only for some of their activities. As you can imagine, they want us to defend their interests.
Enforcing the trademark is a painful process and it costs a lot of money. But I'm convinced that doing so is my responsibility. Would it be fair to say no to people who follow the rules by asking for permission and let other companies do whatever they want? Not in my book.
What about Grafikart then? A chain of mistakes that lead to some bad decisions. And I'm very sorry for that. I said I would be very transparent on Twitter, so here is the full story.
I'm the one in charge of answering trademark requests sent via symfony.com. But a lawyer is in charge of defending our trademark. As we cannot check all usages of the Symfony trademark worldwide, we stay focused on usages which could lead to confusion. Education is our top priority: anything related to documentation, training, conferences, and certification. In addition, we also monitor domain names. But it is still too broad. So, we decided a few years back to restrict our actions to companies using the trademark on Google adwords, companies who did not ask for the permission to use the trademark for commercial activities and who did not participate in our partner program.
As you might understand now, these don't relate to what Grafikart does. Grafikart does not sell anything related to Symfony and it does not buy ads on Google. If they had asked for permission (which was actually not needed), I would have asked for some small tweaks, but nothing serious.
The first error was that the lawyer should not have sent a formal notice. Whenever possible, someone from SensioLabs tries to contact the company/website via email first, with a link to the Trademark policy, and explaining the reasons why we think their usage is not appropriate. Receiving a formal notice should be the exception, not the rule.
The second error was that the notice contained some wrong facts (Google adwords usage).
But a phone call resolved the issue. We acknowledged that Grafikart's usage of the trademark was fair and that they should have never received a formal notice.
Unfortunately, we kept making mistakes. The third error was that, after the call, we sent them another email asking them to remove the Symfony tutorial from the website, arguing that only our partners could use the Symfony trademark. This is plain wrong as stipulated by our trademark policy.
Up until the tweet, I was not aware of the story. I discovered it when the tweet that started it all was published. I turned red. I was able to immediately contact Grafikart by phone (thanks Jonathan) and we resolved the issue very easily (as there were no issues in the first place). The tutorial was back online very quickly. I want to thank Jonathan for his patience, his understanding, and his kindness. And again, all my apologies for the mess.
I take full responsibility for what happened as I should not have asked other people to make such important decisions on my behalf.
I also made several changes to prevent such catastrophic errors from happen again. First, we will stop working with this lawyer firm, who apparently has no idea what working with an Open-Source community means. I have also asked to stop all formal notices from being sent before the process is reworked from the ground up. I will personally review all notices sent in the past to see if we made any similar mistakes. And from now on, no notices will be sent without my approval first.
Beyond the Twitter and Reddit backlashes, I hope that this long overdue post helps people realize why such a trademark policy is a must-have for popular Open-Source projects.