If you'd like to submit a project to Brightcove's Open Source initiative all you'll need is a Github username (it's free) and a descriptive name for your project.
1) Email firstname.lastname@example.org and let us know the following information:
- The name of the project: Try to be descriptive in the name. For instance "Omniture SWF" or "PHP MAPI Wrapper" (MAPI stands for Media API) are descriptive enough that someone hunting for a project can tell at a glance what it is. While code names like "Nightingale" or "Ice Cream Sandwich" are fun, they don't help the users looking for something to suit their needs.
- What it does: This doesn't need to be a diatribe, but rather a few sentences explaining high level what the project is. This helps us know how to display it, categorize it, and also let's us know if it's a duplicate. If you know that it is a duplicate of a current project, just let us know why yours is better.
- If your project already lives in a Github repository, or you'd rather create a repository in your own account, we'll simply need the link to your repo once code has been pushed to it (and you can skip to section 5!). Otherwise, we'll need your Github username. We use this username to create a project in the BrightcoveOS account on Github and then add you to it, so that you have push/pull access and will always be in control of your code.
2) If we created a repository for you, we'll create a team of people (if it's just you, that's fine, though you can supply other Github usernames of members of your team if you'd like) in the BrightcoveOS account. We then assign your team to to your repo. This repository is private at this point, so only we at Brightcove and your team (again, could just be you) can see it. We'll send you an email when this is complete.
3) At this point, you should setup your code in the Github repository. If you haven't used Github before, the link we provide to the project's repository will have instructions for how to setup your repository and push your code into it. If you've never used Git before, there are some great tutorials out there including Github's help section.
4) Before wrapping up, the second most important part (next to the code itself) is making a great README file. By convention, a README.md (the md extension stands for Markdown, a basic syntax for making some simple style changes to otherwise basic text) resides in the root of the repository. It should have plenty of details in regards to what the project is, how to set it up, how to use it, etc. Some people even keep their changelog information in there. This README file is what gets displayed on opensource.brightcove.com, hence why it's so critical. For example, the Omniture SWF and Twitter Feed SWF projects have detailed README files.
5) Once that's complete, just shoot as an email letting us know that it's ready. You can also send us a couple of sentences about the project that we can use for the recent news section of the home page, though that's entirely optional. At this point, we flip a few switches and the project is live on the site. Ta-da!
Well, it's not over yet. Being the author of an Open Source project means that you're forever the owner. This is good in that you'll be seen as the leader in that space, and it looks really good on a resumé, but it does require additional time here and there to make sure it's maintained properly. New versions, bug fixes, hot patches, pull requests, etc. Based on our experience, this amounts to a couple of hours every few months - certainly nothing backbreaking, but it's important that as the owner of this code that you truly own it and take care of it.
Anyone can join the Open Source @ Brightcove team. Dive right in and start responding to issues, answering forum questions or submitting code patches through our GitHub repository.