It is very likely that you, as a software developer, are already using open source software components, knowingly or unknowingly. But it is important to realise that the open source development community provides more than just the software. Developers who contribute their time to working on open source projects often find that it benefits their programming skills, their communicative abilities and even possibly their social lives. Many of them contribute to open source projects as part of their day job.
Many new open source projects get started, either from scratch or by open-sourcing a pre-existing piece of software. The developers and some potential users can collaborate within a distributed environment to satisfy a need, and perhaps start to anticipate and cater for emerging needs. Whether a community develops around a piece of software, or a pre-existent community decides it needs a new piece of software, the combination of a purposeful social group and a rapid cycle of release and comment often results in the production of good code.
Open source software development methodology
Developing software using an open source development methodology can be a quite different experience to developing in a closed source model. However, developers with a closed source background may be surprised at the points of similarity as well as difference. These resources explore the background to the open source software world and the way that it works.
- Avoiding abandon-ware: getting to grips with the open development method
- Essential tools for running a community-led project
- A guide to participating in an open source software community
- Sustainable open source
- Free and open source software in mobile devices
- Open innovation in software
Like any creative professional, a developer needs to understand their intellectual property rights. The code you write may belong to you, your employer or even your college or university. Understanding your responsibilities and rights may seem irrelevant to the core business of getting developing, but unless you take the time to understand these matters then the re-use of code can quickly result in software that cannot be legally released and becomes a lot of wasted effort.
These resources should help you gain a grounding in the legal issues surrounding the creation and reuse of code. Please note: we are not lawyers, and this is not legal advice.
- Making your code available under an open source licence
- What kind of licence should I choose?
- Open Source Development - An Introduction to Ownership and Licensing Issues
- What is version control? Why is it important for due diligence?
- Dual Licensing as a business model
Clearly developers need to be well versed in technical matters. Many of the best practice in software development are often practiced in open source projects, specifically in the more agile methodologies. This makes engaging with a project or starting one less onerous. Here we link to some more technical resources that may be of interest to those who develop software.
- What is a software patch?
- Release management in open source software projects
- Best practice in release management for open source projects
- Creating a new Google Code project
- Creating a project on SourceForge
- Is open source software insecure? An introduction to the issues
Stay in the loop
To keep up to date with what is happening in the open source world as it relates to software developers in the academic sector you may wish to
- join our announcement list
- attend an OSS Watch event
- read a conference report
- track our RSS news feeds
- or follow our team blog
OSS Watch also provides institution specific consultation workshops for universities and colleges seeking assistance in thinking through their engagement with free and open source software.