The Open Source Guides To Managing Open Source Software Projects |
Written by Nikos Vaggalis | |||
Monday, 18 November 2019 | |||
A set of guides detailing the ins and outs of launching, managing, maintaining and contributing to open source projects has been made available. Although created and curated by GitHub, with input from outside community reviewers, they are not exclusive to GitHub products. The guides have something for every role involved in open source software (OSS), be it a manager, a maintainer or simply a contributor. They also serve as reminder of the effort and amount of work an open source project requires in order to be kickstarted as well as maintained. As we skim through them you'll certainly be left overwhelmed by the extent to which OSS needs help and input. Starting with Contributing the options are to:
But before even thinking of launching your own project, it's highly recommended to first start out by contributing to existing ones in order to familiarize yourself with the process. After that, and when about to launch your own, you'll have to take care of some relatively small but important things first: Launching a project
You've launched, hurrah! But being solo isn't fun. The next step is to fish for contributors. Finding Users for Your Project For that you need to:
Now you and your minions are spreading the word, and people are checking it out. Awesome! Now, how do you get them to stick around? By building welcoming communities of course! This also involves managing people and relationships.As such the guides advise not to tolerate bad actors, meet contributors where they’re at, share ownership of your project and resolve conflicts. The community and leadership around the Perl project for example is certainly no stranger to conflict, and certainly it could find some tips useful on how to go about resolving them as well as handling bad actors. Prime examples of such rifts is the Perl5 and Perl6 split, detailed in The Perl Renaming Debate Highlights Tensions or the one revolving around the Perl Master Plan. This twitter thread has all the lowdown. After firmly establishing your project and having people flock in, it's time to put on your Maintainer hat.But What does it mean to be a maintainer? "Maintaining a project requires more than code. These tasks are often unexpected, but they’re just as important to a growing project. This involves:
It's obvious that maintaining an OSS project is no different from maintaining other software projects, but even harder since you potentially have to collaborate with disparate dozens of people rather than a team of few which you have authority over.That said,the big advantage is that you'll gain the invaluable experience of the Project Manager ,which could potentially prove a career-rewarding choice. A level above a Maintainer is the Leader, the next role that you might aspire to. The section on Leadership and Governance details how to share responsibilities with your project's volunteers whom you first have to assign the following roles to:
For some projects, “maintainers” are the only people in a project with commit access. In other projects, they’re simply the people who are listed in the README as maintainers. A “contributor” could be anyone who comments on an issue or pull request, people who add value to the project (whether it’s triaging issues, writing code, or organizing events), or anybody with a merged pull request (perhaps the narrowest definition of a contributor). The term “committer” might be used to distinguish commit access, which is a specific type of responsibility, from other forms of contribution. Which brings us to the troubling question: "When should I give someone commit access?"
You also have to learn learn how to manage the project as a for- profit business. Although OSS projects are run by people volunteering their time pro-bono, there are instances that some amount of money could be most welcome, such as:
The guides therefore describe ways of funding your project, although securing funding is not such an easy task. An example of a failed crowdfunding Kickstarter attempt was that of a proposed book, as described in Help Kickstart First Ever PerlDancer Book back in 2015. Alternatively, in looking for investors from sponsorships and grants you have to have some hard facts to hand.For this reason, and some others detailed below, you should be employing Metrics to measure the success of your project.That is because with more information, you can:
And finally, Law, another grim aspect of managing real world projects.Questions looked into in this section are :
Excellent and very useful information here, since the legal aspect of open source is really the number 1 thing that keeps people awake at night. In the end, the Open Source Guides encapsulate the whole spectrum of maintaining an OSS project, and proving that it requires much more than being good at coding or writing documentation. Even if you're not looking to launch your own project but just want to get involved with OSS in some way, the section on Contributing is well worth a read, although going through the whole set of guides is highly educational.
More InformationRelated ArticlesEU Bug Bounty - Software Security as a Civil Right
To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info |
|||
Last Updated ( Monday, 18 November 2019 ) |