How to Contribute to BuddyPress if I'm not a programmer?
I would really like to contribute to buddypress but I’m not a coder. Is there a way for me to help? For example, would it be feasible to ‘sponsor’ a trac ticket and hire a coder/freelancer to address it?
I read this article: http://wpmu.org/what-not-to-expect-in-buddypress-1-9/ and while I don’t like the negative tone, it has some valid points. BTW I had no idea JJJ left! Is Automattic sending someone else to help out in his place?
I want to be positive. I’m interested in discussion how we can improve and how I can be a (small?) part of that.
IMHO the most important way to help buddypress is to organize and prioritize the project. Right now it seems a bit random. The way tickets are addressed, future roadmap, new features, etc. doesn’t really seem to have an over-arching order.
A lot of this is up to Automattic and WordPress as an organization because they call the shots. But there are things we can do on the ground as well. For example, here’s a simple way that we can treat new features.
Instead of letting tickets pile up (future release has 440 right now) or discussion forum ideas gather dust, let’s put them in a simple list and have the registered users of buddypress.org vote on them. This way we get a very quick idea of how popular certain features are and which direction the current users are interested in. Of course, this is only a way to get preliminary info and I’m not suggestion mob rule!
BuddyPress is a wonderful and the people and community is great. If we engage in some “meta-discussion” we can really turbo charge it.
ps same goes for bbPress!
yeah that article was obviously written by someone who does not actually participate (or lurk for that matter) in the weekly meetings.
Fact is jjj actually put a ton of work into this release of budypress. The part he was working on i don’t even understand because, like yourself i am not a developer. but i do understand it enough to know its the kind of thing very few people may appreciate but makes those few (devs) lives much easier. i also know it took a lot of his hours to make it happen. 10up just today or yesterday announced that they devoting 100% of @helen ‘s time to wordpress so i don’t think it’s accurate to suggest that jjj won’t still be able to spend a good chunk of his time on buddypress.
like any open source project it’s success or failure is defined by the people who volunteer their time and efforts to build and promote it, so if you feel like you’d like to do that, a good place to start might be the regular weekly irc meetings or simply start following the BPdev blog which can be found here:
i would say there should probably be an easier way to find that site on buddypres.org though.
The community decides the direction of BP not Automattic. JJJ is still project lead. Most decisions about BP happen in the IRC dev chats.
list of new features
If you want new festures you can add a topic here and if it gets good feedback you can open an enhancement ticket on trac.
If you wish to sponsor features you can get a dev to create a new plugin
oh, if you want to help you can add to the user codex. these are pages on helping users set up and run a BP site
@modemlooper Thanks, I did know about hiring a coder to build a plugin. But you’ll note that’s not what I asked.
The article lays it on a bit too thick but it does have a point. For example, the ticket on custom post types has languished without any attention after a great initial discussion. And it has been punted several times already.
This is arguably an important feature. And it is 2+ years old. With the last activity being 6 months ago with trishasalas commenting and not receiving any feedback or response (except the punt).
I don’t want to get bogged down in this specific feature or ticket, I’m only using it to illustrate that, well, things can be improved on.
Do you really think that there is no room for improvement? That the status-quo is honky-dory a-okay? Because you don’t have to be negative or have a jaundiced eye to realize that things can always be improved. And it is obvious that the development process for both bbPress and BuddyPress can be improved when important tickets are ignored, marginalized and peripheral improvements come in way over their delivery date.
I would like to start a constructive dialogue on how we can improve things. If no one here is interested and thinks that there is no need or room for such improvement, then I’ll be happy to go back to lurking.
@synaptic the development cycle for buddypress has been greatly accelerated in the recent revisions. the whole idea behind that is to foster more features and better functionality at a faster pace. nobody is trying to claim that buddypress is perfect. to the contrary we are saying that if you want to help, please do.
Before a new version is out we go through every ticket and if progress on it hasn’t moved it gets punted.
The cpt feature could be done as a plugin.
thanks @ubernaut +1
@modemlooper yes, I understand that but you’re missing the whole point… why has there been no prograss in 2 years? And yes, I do realize that it could be done as a plugin but again, that is missing the point! As it is, imho this mentality of functionality being in plugins vs. core has gone way too far.
1.7 saw theme compatibity which was huge. That happened within 2 years. There has also been alot of work in the admin.
BuddyPress is a solid foundation to build incredable things. I prefer that than bloated buggy features that are unmaintainable.
@synaptic Thanks for starting this interesting discussion (and for doing it in a more sensible and measured tone than the linked article).
I agree that the current process for selecting and advancing features is not ideal. It is indeed a shame when a ticket like the CPT one gets punted release after release. I’m not sure that I can *justify* it, but I can *explain* it.
In brief, BuddyPress is maintained and developed by a small number of volunteers. (Contrast with WordPress, which has quite a large number of contributors, and a number of people who are paid to work exclusively on WordPress core as part/all of their day job.) So, the things that get developed during any given release are those things that the small number of volunteer developers have chosen to spend their time on. How do the developers choose? Personally, I tend to gravitate toward those items that fall into one or more of the following categories:
- Items that other people have contributed code to, either in the form of an existing plugin, or a patch, or whatever. This is both because these items mean not starting from scratch, and because it validates those contributors’ time and effort. The new dynamic menu system (described here http://www.wptavern.com/buddypress-1-9-will-include-dynamic-menu-links) is a great example of this: community member imath contributed a very nice patch, so it got moved up in the list and will be part of the 1.9 release.
- Items that someone is paying me to build anyway. I’m a consultant working on BP projects, and sometimes a client wants a feature that would be valuable in BP itself. If I’m not mistaken, the new notifications component for 1.9 is an example of this – jjj was working on it for a client, and so was much of the way toward having it ready for BP.
- Low-hanging fruit. Often there are relatively easy tickets, something I can knock off in an hour or two.
- Stuff I enjoy doing. There are some sorts of features I prefer to work on, and I’m more likely to spend my volunteer time working on them.
This isn’t an exhaustive list, but it gives you an idea of the kinds of motivations that go into the contributions of a volunteer. And it means that sometimes tickets that garner interest and conversation – your CPT ticket example is a good one – can fizzle. Sizable features like this really need to be personally shepherded by someone in order to be successful, and there is simply too little developer time to cover all worthy tickets.
Is our system for choosing features and fixes perfect? No, definitely not. Your voting idea is a nudge toward something missing from my list: “items that are wanted most by the community”. If you’re interested in pursuing something like this, please please please do – the Future Release pile has lots of good stuff in it, but it really needs people to read through tickets and pick out the stuff that should be presented to the community. Feel free to reach out to me if you want to talk more about this.
As a side note: Deciding on roadmaps, etc is really hard. We want to do what’s best for the project (whatever that might be, and however you might determine it), but at the same time we want to ensure that contributors – who, it’s important to remember, are giving their free time to the project – are working on things that they personally find valuable and enjoyable. I’m eager to work with interested members of the community do a better job at striking the necessary balance.
@synaptic as Boone mentioned above, BuddyPress is developed and supported by volunteers. If you’d like to contribute, check out how at http://codex.buddypress.org/participate-and-contribute/
@boonebgorges thanks for that very illuminating and honest message
I totally agree with you and do understand that BP and bbPress are not comparable to WP in their development resources. That we only have a small handful of volunteer coders who advance the project and a similar group of non-coders who help out as and when they can.
It is exactly *because* the resources we have are very limited and precious that we need to organize and prioritize more formally. Because this is the only way to maximize what we can achieve out of those precious but valuable time and resources available.
Of course, this would be something that the buddypress contributors as a group would need to agree on in unity. I do not wish to nor am I suggesting to ‘impose’ this on anyone. This is merely a suggestion for a better way forward.
This may be the only way to bridge any potential gap between what ‘needs to be done’ and what ‘inspires or excites’ the contributors. We somehow need to connect those two things. Ignoring one or the other is not good for the project in the long term.
The idea of a community generated and ranked list was a way to bridge this. And to foment more cohesion between the wider community and the small group of BP contributors. That’s just one idea, no doubt there are many more and better ones at that.
I would love to hear thoughts on this.
Here’s another crazy idea: run a crowd-sourcing Buddypress development project on kickstarter or indiegogo.
This may sound a bit off but it is just a suggestion so please do not take it as down playing what you are trying to achieve. Instead of relying on the Dev’s to do the coding for you all the time, try learning something new like how to code. It is possible for you and I personally think people only set their own limits because they are afraid to take things to the next level. It will free you to make things happen on your own without always asking someone else to do it for you. If you sit around waiting on the the BP dev cycle to provide you all the solutions to the issues you have, then you probably could have used that time waiting to empower yourself and learn the skills necessary and that would make a bigger impact than just telling people what you would like to see happen. Then you could actually contribute more than just wants. This is just my opinion so please do not take it negatively. Take it as an inspiration to empower yourself and not have to wait on others to get a job done that you can do yourself if you put forth the effort. Godspeed!
@bphelp thanks for your gentle suggestion. I take it in the best way possible
Now let me respond by saying that what you’re saying is valid. It assumes however that everyone has not only the inclination but the time and opportunity to learn to code. Here’s the thing though, we can’t all be a jack-of-all-trades as they say.
I can’t learn to code, learn UI, learn marketing, learn sysadmin, learn etc………. you get the idea! Each of these is a field onto itself with a world of technical details and wonders to explore. Each is wonderful and interesting. However, to expect everyone to become proficient in all of them in order to accomplish a task in that field is simply not realistic.
And in case you will respond by elevating one above the other (“b bu but… coding is the shizznit!”), I would say that is not the right way to think about it as it denigrates the other fantastic work being done in the other areas and marginalising the value they add.
@synaptic I noticed @modemlooper actually put an incredibly valid point across about plugins, I’ll extend that to themes. You didn’t really pick up on this in my opinion. Buddypress gives you the foundation, plugins give you the rest. I imagine nearly every Buddypress powered site has multiple plugins and custom themes. If these were added to Buddypress itself, it would be bloated and have features others simply do not need.
Whilst your thread is about how to contribute if you’re not a programmer, you mentioned that you are currently learning html/css. With a good grasp of these and an understanding of PHP and jQuery you could start developing Buddypress themes.
Creating a theme obviously takes time, and you have to “learn” how to do so but as you are currently learning html/css it makes the next leap pretty straight forward, you could start a new project to build a Buddypress theme, by the time you’re done you’ll have a good grasp of html/css and probably a fair understanding of PHP and jQuery. With the added bonus of a new theme for the community.
Btw I didn’t mean for that to read with any animosity but nearly everyone could contribute to Buddypress building complicated components may very well be out of bounds for the average user, but like yourself most have some degree of knowledge that could be put to good use.
You must be logged in to reply to this topic.