Sharing code can be one of the toughest parts of managing a big project: a lot of collaboration tools have a way to share written content and images but they don’t handle code particularly well. But that doesn’t mean you’re out of luck. The following tools make it much easier to share code, whether you just need to pass along a snippet or you need to handle forks of existing projects, and several of them also offer ways to keep code private, with appropriate security measures.
- Github: Github is one of the most recommended tools for managing code. It offers free repositories for open source projects, as well as inexpensive private repositories, based on the Git version control system. Tools for bug tracking, code review and management are all integrated. Github’s pricing starts at $7 per month, but if you’re using it to manage code for an organization, it’s worthwhile checking out the business plans available, which start at $25.
- Pastebin: If you just need a way to share a snippet of code quickly, Pastebin is the right tool. It’s free to use, although it’s important to remember that the code you share is public.
- Pastie: Pastie offers a fast way to deal with code snippets, in a similar fashion to Pastebin. You can get them up and online in about as long as it takes you to copy and paste. From there, you can send a link to anyone who needs to look at your code.
- Google Code: Google provides its own code sharing solution. You can host individual projects through the site, as well as manage versions through either Mercurial or Subversion.
- Bitbucket: On Bitbucket, you can share code, branch and merge projects. The site is based on the Mercurial version control system. For a project with five or fewer users, you can use Bitbucket for free. Tiered service is available based on the number of users who need to access your project, starting at $10 per month.
It’s always worth consulting with your development team before making a final decision about code management. While one of these tools may seem like exactly what you need, there may be some considerations that simply aren’t seen at the broadest level. Coders on your team may have personal preferences, or one tool may work particularly well with their existing set up.