Türchen 8: What to do with your new created OpenSource module after a hackathon.

Dec
8
2017

Open Source is the base which brought many in the Magento Community together and is one of the many beneficial outputs the Community Hackathons produce nowadays.

But what to do with a new project after the Hackathon is over?

Luckily the answer is mainly took over by others by either starting to use it, or not.
Mostly it will be used only by a hand full of people, who happen to have the exact problem you did solve with it.
One example is the https://github.com/magento-hackathon/AsyncIndex which never had much activity after the Hackathon. From time to time, someone did stumble over it by either google search, or personal recommendation. Sometimes they then had (you may have expected this) a question, or even a problem, or a suggested change. (all the usual open source stuff)
In the end, there was no real maintaining. (more attention may have lead to more people using it maybe, but the point is, this projects can even without active maintenance  be useful to others)

Another example is the magento-hackathon/magento-composer-installer which got a lot more audience because of general interest (and one of the initial contributors using it in trainings).
As this is a tool which was only used by developers together with new Issues there were also a lot of Pull Requests, which helped to keep the project active.
When this happens with an Open Source module you will start to face some difficulties.
Issue number one: contributions which change or break behaviour.
That such things happen is completely normal, and no reviewing will completely avoid this. But having automated tests help a lot. You dont need to always include unittests for every single feature, often a few very simple integration tests do already help a lot in the beginning phase.
Issue number two: an ever expanding featureset.
When getting more and more contributions, there will be some which are only slightly related to the topic of your module, or are complex enough to fill its own Module. There is not much advice I can give there. I did mostly allow these contributions initially and did later introduce events, so they could be moved out into an own module in the future. And I learned people dont like it, if features get removed again. So if you remove features, make sure this happens as part of a major release, so in the worst case, bugfixes could be backported to the older version if people depend on it

But having so much activity also has additional positive sides, besides the many helpful Issue and Pull Requests you get.
Using Githubs functionality for PR Reviews, you can lure contributors to participate also in maintaining tasks and taking over more responsibility. The trick here is to require at least 2 Reviewers, so one out of the contributors has to do a Review in any case. And people who wait for a Review, are a bit more likely to go through other PRs for doing Reviews.
You will also get a lot of feedback about the quality of your code over time, sometimes helpful to grow yourself, and sometimes just leading to additional work with no noticeable benefit. (Its ok to not follow any advice you get online. People like to give advices, even when they do not know about the whole picture)

Do you have any unanswered Questions? Just post it as a comment.
Or in case you did already once create a module.
What experience did you make with creating an Open Source module for magento?
Any additional advice you would like to give?

Leave a Reply

Your email address will not be published. Required fields are marked *