Ways to encourage developers to contribute to CP

Please list concrete, actionable ways we can encourage skilled developers to join our project and contribute.

1 Like

As recap, I started in the past few discussions and different points/suggestions about it:

Idea: who is doing what?
Blog Post Discussion: Getting Involved with CP
https://www.classicpress.net/blog/2019/04/04/what-is-missing-in-the-classicpress-project-that-you-could-contribute-to/

I will see if I have time to wrap up but anyway will be the same suggestion:

  • Every Team leader(s) do a list of task and priorities and look for contributors and ways to promote it better based on their needs

As I did for i18n (and found new localizers) and tried also with core but we have to discuss few things before trying again (like do docs as example https://classicpress.slack.com/files/UCFQJPU4Q/FFV8NM0TZ/How_to_backport_a_WordPress_changeset)

  • Remove from our wording the subtle hint that our value is inferior to WP, because it’s not. We don’t have a big user base just yet, but our CMS is no less than WP IMHO.
    Considering we are a new thing as a value and not a defect.
    How we word things matters, people make decisions on the feeling they get from our communication.
  • finding places where devs and coders hang out, and mention CP as much as possible. Be available to people and explain CP.
    Me I have started doing this on quora, for example. And even if it’s not a devs’ nest I got some questions on WP, answered them and mentioned I am on CP now, explaining why.
    I am not targeting people directly, but I am trying to do my best to interact in a positive manner.
5 Likes

Well, not sure if it works for skilled devs, but… Let’s try to decompose the problem:

  1. Attract enthusiasts from external platforms (external action).
  2. Convert enthusiasts to contributors (internal action).

External part
There’s a small trick to get the relevant attention to a project for free. The goal is to create some artificial challenges in a manner of “a newbie asking for advice”. It might be a short code snippet with some errors, or a question describing a dev-specific problem. Even real tickets from fork issues if they are interesting. Those “baits” should be posted to any relevant platforms: Stackoverflow, WP forums etc. Each question should touch CP ecosystem. No spam or advertising, just mentioning it in context. To give an answer, people would refer to CP’s docs or Github, discover a project detailes etc. If the bait is interesting enougth there’s a good chance to attract some enthusiasts to dive deeper.

Acting from a “newbie” position provides great results. It lets people show their skills, knowledge and qualification. It generates enthusiasm. A good comfortable background for joining and contributing.

Internal part
People need a simple and obvious point of focus. It’s hard to make a first step when you join a totally new community. The “dev todo” on Github is a bit messy and overflowed for a first step. (By the way, same trouble as with CP download link: too many clicks, hidden. I’d offer to make a separate invitation page and represent it by large banners on “Get involved!”, docs section and everywhere else :).

Maybe there should be a separate “welcome” todo list containing a section with simple warm up tasks (15-60 minutes) organized in a common way (just a list, maybe the tasks filtered form Github by slug “good first issue” or something manual in Jira/Trello/Asana. The idea is to make a friendly sandbox-alike environment without dropping newbies right into a messy fight. Just to remove “neophyte syndrom” and frustration.

One more note about Github etc. WP used to be a favorite CMS for solo webmsters and freelansers for years. So there is a large group of users who are skilled in building custom themes and plugins, but have a lack of experience in collaborative development. Those people are the most promising volunteers. But they (we) need a small adoptation. Maybe a short guide or a video with 1 example of completing a random task, showing the whole process (not coding skills, but the procedure). It also helps when experienced community member tells about tools. agreements, best practicles. It may sound funny, but 1 example could be enougth to convert solo player to a contributor.

7 Likes

Great response!

This is a really neat idea. You won’t get it onto WP forums but posting questions that need solving on places like Stackoverflow would certainly get the presence of CP “out there”

I agree with this too. I’ve had a look a few times at the dev todo list on Github but I just find it too daunting.

2 Likes

Really great points, @norske.

This is exactly where I fall in… good at solo development, but, with gaps in terms of collaborative tools.

Yes, exactly this! We discussed this in today’s community meeting. I would consume this content…stat!

4 Likes

@norske nailed down the issue really in detail. I was addressing more the “outside” part with my answer.

2 Likes

Maybe a short guide or a video with 1 example of completing a random task, showing the whole process (not coding skills, but the procedure). It also helps when experienced community member tells about tools. agreements, best practicles. It may sound funny, but 1 example could be enougth to convert solo player to a contributor.

I have taken some time to make some YouTube videos showing how to get people to use Git and GitHub since it is our development platform for CP. It takes the opportunity to showcase a simple solution contributing to the CP ClassicCommerce Plugin. I hope it can be a jumps tart point for people who want to contribute but Git is an issue and also to show that any simple contribution in your opinion is a huge step for the whole project.

Videos can be found here: https://www.youtube.com/playlist?list=PLNqG1qGUllk2PnSJiUw1SCjiS6pNhIR2f

If this is a solution, let me know how we can grow this content.

7 Likes

@omukiguy, great work, thanks a lot!
I’ve already watched the whole playlist yesterday. The last one video (#7) is exactly what I meant.

I’ve learned Git tutorials before, but felt a bit uncomfortable with a perspective of using that theoretical knowledge in a real collaborative project. It’s a kind of psychological barrier :slight_smile: Now, аfter watching you making a commit step by step, it seems much easier. I’ll try to practice this weekend.

3 Likes

Thank you. The series has 10 parts, 8 & 9 are also uploaded just one more crucial, about refreshing your Fork when changes have been made to upstream project, it bothered me for days until I tried different things.

2 Likes

I hope I am in the right section, I read on the summary sent by email the other day about the same subject, but cant find the thread, and this seems on the same subject.

I must also add that i am not a coder, developer, so forgive me for my ignorance and hope i don’t upset others with my lack of knowledge, but from a laymans users point of view you mention the problem with developers and coders etc if I am right.

So my take on this is that for a bigger community of dvelopers to get on board, the most important thing is to have a plugin directory/repo, before even a V2 release really. And the reason why this is in my opinion is that if I was a developer,making plugins and themes for wordpress, there is no way of marketing to us at classicpress, so they are not going to be interested in development. After all will still use the WP plugins from classicpress.

And I think, I would even go further, and have an official plugin/theme repositry, but allow the option to add other third party reps as well, in a similar way that android has the official play store but other app stores can be used and dowloaded (after obviously clicking a allow third party apps button)

this would allow developers to develop their own plugin stores if they wanted, and would be a different way of how WP does it, giving users more choice and freedom to choose.

Anyway, I know that this is pretty obvious, just thought I would try and put something back.

4 Likes

This is a good point. There is a basic spec laid out, but, nothing is actionable without a project lead and some key decisions being made. Then, a plan of action must be conceived, a coordination of activities is a must…and, of course, more hands on deck never hurts. I’m building a plugin to operate as a lightweight onsite plugin directory for Code Potent plugins in the meantime, but, suspect you’re right in that the majority of plugin developers won’t become interested until there’s a framework in place to hock their wares.

3 Likes

Thank you for doing this, it has definitely been a missing piece for a lot of people (I didn’t realize how many talented WP developers are out there that haven’t used these collaborative coding tools before).

I think a good next step would be for someone to make a series of blog posts that more or less follow these videos, or at least the same concepts. I have thought about doing this various times.

As always if anyone here is trying to wrap your head around git and has questions I am happy to help. However, teaching in a general fashion through tutorials is a different story, and I think it’s not really one of my strongest skills.


This is a great point! And I hadn’t thought about it this way really so I don’t think it was obvious at all :wink:

2 Likes

Excellent points. Agree 100%.

I am going to tag @invisnet here. What can we be doing to build the directory while you are splitting out core plugins?

For example, are we looking at a subsite on the CP multisite? Do you have a set of options (that might, e.g., be presented as tabs or hyperlinks) that will be required for each plugin?

Then someone (or more than one!) can start designing and building. It won’t be perfect first time, of course, so it would be good to get started and then iterate upon it.

2 Likes

would it not be possible, not sure how complicated it would be though to have the ability to add different repos, such as they do in Kodi. You have the official one, then people can add the WP one if they want and developers could develop their own repos, with plugins/themes in etc, which could be added.

Developers and/or coders could choose which repos added them.

This could put less pressure on developing a large repo for all the plugins and themes with the developers and coders already onboard, being able to concentrate on a few core plugins/options initially and could also lead to some innovation from others.

ClassicPress isn’t going to have a repo. We are going to have a directory, with plugins hosted elsewhere.

As per @anon71742606 suggestion I am sharing this poll targeted to devs here.

https://www.elisabettacarrara.com/poll-classicpress-adoption-cycle/

1 Like

4 posts were merged into an existing topic: Ideas on a Tutorial / FAQ on the difference between repository and directory

A post was split to a new topic: Ideas on a Tutorial / FAQ on the difference between repository and directory