Out of the Box
Great software should work with little configuration and setup. BuddyPress is designed to get you up and running and fully functional in no longer than five minutes. You shouldn’t have to battle to use the standard functionality of BuddyPress.
We work hard to make sure that every release is in keeping with this philosophy. We ask for as few technical details as possible during the setup process as well as providing full explanations of anything we do ask.
Design for the Majority
Many end users of BuddyPress are not developers. They don’t know what AJAX is, nor do they care about which version of PHP they are using. The average BuddyPress user simply wants to be able to provide a social environment without problems or interruption. These are the users that we design the software for as they are ultimately the ones who are going to spend the most time using it for what it was built for.
Decisions, not Options
When making decisions these are the users we consider first. A great example of this consideration is software options. Every time you give a user an option, you are asking them to make a decision. When a user doesn’t care or understand the option this ultimately leads to frustration. As developers we sometimes feel that providing options for everything is a good thing, you can never have too many choices, right? Ultimately these choices end up being technical ones, choices that the average end user has no interest in. It’s our duty as developers to make smart design decisions and avoid putting the weight of technical choices on our end users.
Clean, Lean, and Mean
The core of BuddyPress will always provide a solid array of basic features. It’s designed to provide foundational social network elements and will always stay that way. We are constantly asked “when will X feature be built” or “why isn’t X plugin integrated into the core”. The rule of thumb is that the core should provide features that 80% or more of end users will actually appreciate and use. If the next version of BuddyPress comes with a feature that the majority of users immediately want to turn off, or think they’ll never use, then we’ve blown it. If we stick to the 80% principle then this should never happen.
We are able to do this because we have a very capable theme and plugin system and a fantastic developer community. Different people have different needs. Having the sheer number of quality BuddyPress plugins and themes allows users to customize their installations to their taste. That should allow all users to find the remaining 20% and make all BuddyPress features those they appreciate and use.
Striving for Simplicity
We’re never done with simplicity. We want to make BuddyPress easier to use with every single release. We’ve got a good track record of this, if you don’t believe us then just take a look back at some older versions of BuddyPress!
In past releases we’ve taken major steps to improve ease of use and ultimately make things simpler to understand. One great example of this is theme compatibility. Integrating BuddyPress into your theme used to be a painful manual task that was too tricky for a lot of our users. We decided to focus on this and simplified it into an automatic process. Now anyone with a WordPress install can activate BuddyPress and have a social network in no time.
We love to challenge ourselves and simplify tasks in ways that are positive for the overall BuddyPress user experience. Every version of BuddyPress should be easier and more enjoyable to use than the last.
Deadlines Are Not Arbitrary
Deadlines are not arbitrary, they’re a promise we make to ourselves and our users that helps us rein in the endless possibilities of things that could be a part of every release. We aspire to release three major versions a year because through trial and error we’ve found that to be a good balance between getting cool stuff in each release and not so much that we end up breaking more than we add.
Good deadlines almost always make you trim something from a release. This is not a bad thing, it’s what they’re supposed to do.
The route of delaying a release for that one-more-feature is, literally, a rabbit hole. We did that for over a year once, and it wasn’t pleasant for anybody.
The more frequent and regular releases are, the less important it is for any particular feature to be in this release. If it doesn’t make it for this one, it’ll just be a few months before the next one. When releases become unpredictable or few and far between, there’s more pressure to try and squeeze in that one more thing because it’s going to be so long before the next one. Delay begets delay.
The Vocal Minority
There’s a good rule of thumb within internet culture called the 1% rule. It states that “the number of people who create content on the internet represents approximately 1% (or less) of the people actually viewing that content”.
So while we consider it really important to listen and respond to those who post feedback and voice their opinions on forums, they only represent a tiny fraction of our end users. When making decisions on how to move forward with future versions of BuddyPress, we look to engage more of those users who are not so vocal online. We do this by meeting and talking to users at events across the globe, this gives us a better balance of understanding and ultimately allows us to make better decisions for everyone moving forward.
Our Bill of Rights
BuddyPress is licensed under the General Public License (GPLv2 or later) which provides four core freedoms, consider this as the BuddyPress “bill of rights” (the same as WordPress’s):
- The freedom to run the program, for any purpose.
- The freedom to study how the program works, and change it to make it do what you wish.
- The freedom to redistribute.
- The freedom to distribute copies of your modified versions to others.
Part of those licensing requirements include licensing derivative works or things that link core BuddyPress functions (like themes, plugins, etc.) under the GPL as well, thereby passing on the freedom of use for these works as well.
Obviously there are those who will try to get around these ideals and restrict the freedom of their users by trying to find loopholes or somehow circumvent the intention of the BuddyPress licensing, which is to ensure freedom of use. We believe that the community as a whole will reward those who focus on supporting these licensing freedoms instead of trying to avoid them.
The most responsible use of BuddyPress community resources would therefore be put to best use by emphasizing high quality contributions that embrace the freedoms provided by the GPL.