Contributing to Plone, sustainable

More and more to me the question arises on how to face the requests on contributing to Plone.

With Plone, students select an Open Source Project with many facets. A project with Python and React components, a project that arises questions on code quality, expandability, performance and security. Same UI topics and backend patterns are involved. So there's a lot to learn, not to forget the way, how many people are collaborating on building software. A valuable field for explorations, but wide.

Students may want to install Plone with some add-ons they are interested in and see how the add-ons implement features extending Plone core.

At least now it's time for the trainings, they are teaching both: concepts of Plone and guidance on how to customize Plone.

Of course nobody can sit down and exercise days and days. But this is not necessary, cause the trainings do include stories stretching over some chapters to follow. I started last year in "Mastering Plone Development" to make it more obvious what can be attacked as a digestible weekend brunch.

But still: In my opinion it is one good way to get familiar with Plone: Select an add-on, understand what it does and how it implements the main features. Students will see that most add-ons are evolving over time. They have issue trackers. Have a look, with some familiarity, they can join the conversations on issues. Or even pick an issue and propose a solution.

One of the questions that arises on "how to face contributing requests" is obviously: How to match the need of the students to collect pull request points and the wish of the Plone community to get more long time contributors. So for whettening the appetite on slow food and contributing over months, the challenge in my opinion is to convince that it's worth spending time with Plone and Plone add-ons and getting familiar with the code and the processes.

So what I would like to recommend to students is that

Getting familiar with Plone is a great chance to learn, not only the technical stuff and improving the own skills, but also how people are collaborating on software and exchanging knowledge.

It's not the fastest way to collect points, but one of the most worth on getting a better developer.