Tuesday Trainings: I just found out that my speaker/sponsor has a plugin that is not 100% GPL. What do I do?

First step: don’t panic. This has happened before, it will happen again. This is a problem that can be solved.

Next step: what choice do we (as organizers or deputiesProgram Supporter Community Program Supporters (formerly Deputies) are a team of people worldwide who review WordCamp and Meetup applications, interview lead organizers, and keep things moving at WordCamp Central. Find more about program supporters in our Program Supporter Handbook.) have? Do we:

  • Ban the offending sponsor/speaker for life as they should know better?
  • Work with them to educate them and help them understand the benefits of having 100% GPLGPL GPL is an acronym for GNU Public License. It is the standard license WordPress uses for Open Source licensing https://wordpress.org/about/license/. The GPL is a ‘copyleft’ license https://www.gnu.org/licenses/copyleft.en.html. This means that derivative work can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD license and the MIT License are widely used examples. code.

Hopefully the answer is obvious, but organizers and deputies should educate and help speakers and sponsors change the license to be 100% GPL.

What is “100% GPL”? 

WordPress is released under the GPL v2 license. This is important because the license gives software users what is commonly referred to as the “Four Freedoms”, detailed on the GNU Philosophy Page, which allow users to use the software in any way they wish, to modify the software (if desired) for their purpose, to redistribute the original software to help others, and to redistribute modified versions. 

With “100% GPL”, all distributed code should come with a license. If the license is a GPL v2 or compatible license that is a good start, but it’s not the only criteria. WordPress has stated that all code needs to be GPL. This includes CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site., images, and any JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. code in the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party or theme. A simple way to look at it is that all code distributed must be GPL.

Two articles that may be of interest in helping organizers and deputies better understand GPL is the GPL Primer (everything you wanted to know about the GPL and didn’t know to ask) and the Vetting Checklist, which helps in vetting sponsors and speakers. 

Why do speakers/sponsors need to be 100% GPL anyways?

Any speaker or sponsor of WordPress events (WordCamps, meetupsMeetup Meetup groups are locally-organized groups that get together for face-to-face events on a regular basis (commonly once a month). Learn more about Meetups in our Meetup Organizer Handbook., etc) represents what organizers believe are the best practice in keeping with the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. values and philosophy of the WordPress open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. project. When a user attends an event and learns about a new way to do something with WordPress, it is important that the tools presented are 100% GPL, just like WordPress, to protect the user’s freedoms. We want the user to believe that their experience with a ‘de facto’ endorsed product (plugin, theme, etc) is what they should expect of WordPress. A plugin that does not comply with the “100% GPL” criteria could change how a user thinks of WordPress. 

As the organizers of these events, we want users to not only have the best experience possible, but the best experience with WordPress possible.

A speaker/sponsor isn’t 100% GPL! What do we do, and why do it?

Now that we have gone through all the what’s and why’s, what do we do when we discover that our speaker or sponsor is not “100% GPL” compliant? I believe the best path forward is to start a conversation. As an organizer for quite some time, I find that in most cases the person is unaware that their license is an issue. It is the rare exception when someone purposefully disregards the WordPress license.

When I open the conversation, I start by letting them know what I have found. Although there are other issues with GPL, I’d like to address two common ones in particular. 

The ‘split license’

A ‘split licence’ will have the PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. code as GPL, but not the rest of the code.  Generally the  css, javascript, and images would not be GPL.  If the code is split license, I ask the speaker or sponsor if they understand the WordPress requirement for 100% GPL. I explain that this requirement is not to restrict their business nor to ‘steal’ from them, but to protect users. I’ll give examples of many well known and highly successful plugins and themes that are 100% GPL and encourage them to change the license.

Restrictions in use

This happens when the license says that the plugin or theme is GPL, but the terms of service or license restricts the ability to use the plugin or theme. In this case, I’ll ask the speaker or sponsor, why? In most cases they will explain that they restrict the use to protect themselves, but that they are in fact GPL. I will then explain the four freedoms, and that restricting use in any way is a violation of the GPL. I do point out that they can restrict support and updates based on their policies, but they cannot restrict use. I also point out all of the successful premium plugin and theme business that exist, not by changing the license, but by limiting support and updates.

Most plugin and theme authors, as well as sponsors, intend to comply with the GPL. Often they don’t realize that what they have done violates the GPL license. The best way forward is to educate, and to ask to have the license changed to be 100% GPL compliant.

How have you handled situations where you have found speaker(s) or sponsor(s) not 100% GPL compliant? Do you have additional questions around how best to handle these conversations?

Thanks to @sippis and @angelasjin for their feedback and contributions.

What’s coming next with Tuesday Trainings?

Please be sure to join us for a Tuesday Training live panel discussion on “How can meetupMeetup Meetup groups are locally-organized groups that get together for face-to-face events on a regular basis (commonly once a month). Learn more about Meetups in our Meetup Organizer Handbook. groups benefit from Learn WordPress?” on March 16 at 09:00 UTC, hosted by @harishanker! The event will be in the format of a live panel discussion on YouTube (in the WordCamp Central YouTube channel). Don’t forget to mark your calendars already and sign up for notifications on YouTube so that you will be notified when the event starts! More details can be found in the event announcement post.