Posts Tagged ‘wordpress plugins’

Event Espresso and the GPL

There was quite a stir last week when theme developer, Jake Caputo, posted on his blog that he was disallowed from speaking or volunteering at his local WordCamp because he sells his themes on ThemeForest. If you’re interested in learning about the issue and the discussion, you can take a look at his post and the summary I wrote on my personal blog. This post isn’t going to be about whether or not Jake should be able to present at WordCamps.

We wanted to take a few minutes to talk about the GPL and how it applies to Event Espresso. I tend to be the resident GPL evangelist, so I was asked to be the one to write this post on how the GPL plays into what we do at Event Espresso.

What is the GPL?

GPL stands for Gnu Public License, and it is the software license under which WordPress is distributed. Briefly, it is an agreement between the software developer and the user about how the software can be used and what the expectations of the software may be. There are a few key points that are important to remember when discussing the GPL:

1. The GPL affects distribution.

The GPL license only affects code that you distribute to other parties. Writing code for a web site or client, that never gets released for public consumption beyond that site, does not need to have the GPL license attached to it.

2. The GPL does not include any warranty or guarantee of support.

In fact, the GPL explicitly states that the code might not even work at all!

3. The GPL grants the user (anyone with a copy of the code) the freedom to take, modify and/or redistribute the code.

This means you can take any GPL code and re-release it as you see fit, though you need to put your name on anything you change, so someone can get in touch with you if there are problems.

4. All WordPress plugins and themes must be released under a GPL-compatible license.

This does not mean that WordPress plugins and themes must be released under the GPL exclusively, nor does it mean that everything in a WordPress plugin or theme must be licensed with the GPL. Internal usage within an organization is totally free and not subject to any conditions. There is no such thing as ‘internal distribution’ that would restrict the usage of your code by requiring it to be GPL’d. It does mean that if you are releasing a WordPress plugin or theme for distribution, that it needs to be — in part or in whole — released under a GPL or compatible license.

What’s a “split-license”?

Matt posted a few days ago a comment in response to Japh, the WP Evangelist at ThemeForest, that there is “no such thing as a split-license”. I’ll therefore avoid perpetuating the misnomer, but clarify what the intended meaning is. A package that is distributed in which one license is applied to one part of the package (e.g. the php files) and another license is applied to another part of the package (e.g. images, css, javascript), has been commonly referred to as a “split-license”, which is what is currently in place on ThemeForest and CodeCanyon. It should be stated that there is absolutely nothing wrong with this — it does not violate the GPL in any way. However, as I point out in my blog post, the reason why it’s an issue when a ThemeForest theme developer volunteers for a WordCamp is because it violates the WordCamp guidelines that have been set out by the WordPress Foundation about who can (and can’t) be involved in the organizing of a WordCamp.

What does that mean for Event Espresso?

As a premium plugin developer, it’s a difficult position to be in. The GPL makes it so anyone can get a copy of your plugin and resell it, or just provide a link to a full version of a piece of software that — in our case — has been the product of literally tens of thousands of hours of development. This is why, when you purchase Event Espresso, you are not buying the code.  You are paying for support and updates for the length of the license — the very things that the GPL implicitly does not provide. People are always finding ways to pirate software, and WordPress themes and plugins are no different. However, as I always like to say, good luck getting support. With Event Espresso, if you found a copy online (outside of our site) you would not be able to access the forums except for the free forums or the translator forums (where it would become obvious pretty quickly that you were not using the free version or had a question relating to the translations based on your version and your questions) and only limited access to our support documentation. And you would have no access to updates of any kind.

We are proud of our dedication to open source software. We are actively seeking new partnerships with other WordPress developers, and the API we’re developing will expand Event Espresso events to sites that don’t even run on WordPress. If you have questions about the GPL, take a look at the Frequently Asked Questions on Gnu.org or feel free to contact me on Twitter — I love talking about the GPL helping people understand what it is and how it works!

Tags: , , ,
Posted in Product & News | No Comments »

Behind the scenes: the tools we use at Event Espresso

We’ve been at this for over 3 years and in that time, we’ve used a ton of different tools to get the job done. Event Espresso has gone from being a one-man show to a team of 10+ and in that time we’ve learned, largely through trial and error, ways to effectively communicate to each other and our users. Here are a few of the tools we use internally and for EventEspresso.com.

Operating Systems

We’re predominantly Mac users with a few holdouts running Windows 7 and Linux. The apps covered here will be a mix of the popular votes from across all three platforms as well as web-based apps or systems.

IRC

We’ve been using IRC internally for the past year. It has successfully enabled us to communicate better as a team and respond to issues that come up in the forums and as we are developing code much faster. It’s hard to imagine how we managed to do things before we were using IRC. We have one closed channel we use for internal and development communication and another channel we’re planning on opening up to VIP members soon. To keep our private channel closed, we’re using IRC access restrictions. We also have a bot running Phergie that is able to do helpful things like pass messages to other team members who are away from their computers and Google searches, or not so helpful things like tossing each other a cookie, beer, wine or cocktail.

MrEspresso

Phergie is also feeding posts from our P2 site (mentioned below) to keep the team updated on new comments and discussions happening there.

As far as apps go, for Mac, most of us started off with Colloquy before moving on to other things like LimeChat and Adium. For the Windows users among us, we’re predominantly using mIRC, and Xchat is the most commonly used client for Linux, though a Windows version also exists.

Twitter

In the last month we’ve started trying to use Twitter for both internal and external communications. Everyone at Event Espresso was already on Twitter, and Event Espresso has it’s own Twitter account. On our personal accounts, we use the #EventEspresso hashtag for general Event Espresso-related tweets and #eesupport or #eedev for support or development-related tweets. Not only can we keep each other in the loop with what we’re doing, but this gives our users a level of transparency about what we’re up to as well. So, what are we using to manage Twitter? For OSX, there’s the native Twitter app in the App Store or, for everyone, the cross-platform web app TweetDeck.

Browser

To the developers out there, it should come as no surprise that Chrome and Firefox are our browsers-of-choice. The powerful tools of Chrome’s built-in inspector and Firefox’s Firebug extension are invaluable to developing and testing markup. For the Mac users among us there’s Parallels and Oracle’s VirtualBox for Windows virtualization for testing Internet Explorer.

Screenshots & annotations

Formerly, the popular favorite for screenshots with annotations was Skitch. Recent changes to the platform have been universally less well received by our team, and some of us have begun looking elsewhere. The Awesome Screenshot extension for Chrome is…awesome…for browser-based screenshots and Droplr and Screencast.com have also been used by some of us for sharing screenshots. I wrote up an Alfred* extension to replace the timed screenshot feature that Skitch dropped from their app.

* covered later…

Email

Event Espresso uses Google Apps extensively, so many of us just use the Gmail interface for mail. However, the Sparrow for Mac is hands-down the best desktop email client and also has an iOS app replacement for Apple Mail. Speaking personally, Sparrow makes me actually enjoy looking at my email inbox. It’s definitely worth downloading the free (ad supported) version and convincing yourself it’s worth the ten bucks to use it without the ads.

FTP

While the cross-platform workhorse of FileZilla is definitely a favorite, some of the Mac users among us cling to Transmit, by Panic (who also make Coda), which also allows file transfers to Amazon S3 buckets (which we’re using as our CDN).

IDE

A good IDE is important when you’re spending all day staring at it. Sublime Text 2 gets our popular vote with some runners up being Coda and NetBeans. (If you’re looking for a good IDE or have just gotten started with Sublime, this is a great resource that goes through a lot of the amazing built-in features of the program as well as the plugins that can be added.) Windows users (that don’t want to deal with NetBeans) can either grab a copy of Sublime as well, or take a look at the free Notepad++.

Version Control

Version control is essential for any development project, large or small. Even if you aren’t part of a team of developers, version control is invaluable in being able to “roll back” changes to an earlier version when something breaks. Having a solid, reliable version control system (and app) is a required part of ensuring that everyone on the team is looking at the same — and the correct — version of the code. Event Espresso currently uses Subversion for our version control (though we plan to eventually move to Git). Most of us Mac folk started out using Versions but have since migrated to Cornerstone. For Windows, there’s TortoiseSVN and for Linux, we recommend RapidSVN (if you’re not just more comfortable using the commandline). For Git, we recommend Tower (for Mac), the GitHub Git client (for Mac/Windows) or TortoiseGit (for Windows). Alternately, if you’ve already started using Sublime, there are excellent Git and Subversion extensions for Sublime, and NetBeans also has integrated SVN support as well as a plugin for Git support.

Other tools

What other programs and apps are we using? Here are a few of our favorites:

  • P2 – we have an internal P2 blog that we use to announce and discuss issues with the entire team
  • Codebase – where all our SVN repositories are stored and for internal issue tracking
  • Asana – for support issues and other non-coding-related task- and project management
  • Google Drive and Dropbox – cloud storage
  • Codebox, Gist, Piratepad, jsfiddle (and, recently Koding) – storing and sharing code snippets
  • Alfred (Mac) – all-purpose productivity app (some of the automation features of Alfred — such as the previously-mentioned timed screenshot extension) are simply amazing and well worth the cost of the Power Pack add-on)
  • Textexpander (Mac) – keyboard shortcuts for commonly-used text (or code) blocks
  • TotalFinder (Mac) – Finder add-on/replacement that enables tabs in Finder windows

WordPress Plugins

But what about the plugins we use for WordPress, you ask? We use a combination of custom-built plugins, premium plugins and free plugins from WordPress.org. Here are the ones that are most frequently used or most essential to the site:

…as well as custom-built plugins handling the 404 pages, new bbPress topic notifications, testimonials, showcase sites, product features, and various Plugin Update Engine tweaks and add-ons. We’re also using a Google Custom Site Search for our search pages with a custom template and modified searchform so searches go to the Google search.

What are your favorite tools to use in your business or on your website? Let us know in the comments!

Tags: , , , , ,
Posted in Product & News | No Comments »

Event Espresso