top of page
Search

Using Open Source Software And Making Your Own


Anyone that builds software ends up building tools to help build better software; it’s inevitable. That was one of the tenants of Brooks’ Law. But in the 60 years since then, we’ve learned to use the tools we use to build tools and share them in a way that we can search for those made by others and improve on them. Yet we still plenty of time making them.

Uisng Open Source Software In Your Apps

Open source software (OSS) is a type of software that is released under a license that gives users the freedom to run, study, share, modify, and improve the software. Open source software is typically developed and distributed by a community of users and developers, rather than a single company.


If you are looking for a free, secure, and reliable software solution, open source software can a great option, especially if there’s an active community. There are many different open source projects to choose from, so you can find one that meets your specific needs. Some other benefits of using open source software:

  • Free or low-cost: Open source software is often free or very low-cost to use. This can save you a significant amount of money, especially if you are using the software for business purposes.

  • Secure and reliable: Open source software is typically more secure and reliable than proprietary software. This is because it is constantly being reviewed and improved by a large community of developers.

  • Versatile: Open source software can be used for a wide variety of purposes. This makes it a great option for businesses and individuals who need a flexible and scalable software solution.

  • Customized: Open source software can be customized to meet your specific needs. This is because the source code is available for anyone to view and modify.

  • Community support: There is a large community of open source developers and users who are willing to help each other. This can be a valuable resource if you need help with installation, configuration, or troubleshooting.

Open Sourcing Your Own Software

If you can’t find a package out there that does something, then it’s time to write your own. Once you do, you now have the joy of owning it and the implications of having custom libraries, like testing and security scanning. Given that we all use some open source software, we can then choose to give back to the community, and perhaps get some of that testing and security work for free. Some factors to consider when choosing to release your libraries:

  1. Choose the right license. There are many different open source licenses available, so it's important to choose one that's right for your project. Some factors to consider include the intended use of the software, the level of contribution you're expecting from others, and the level of control you want to maintain over the project. Keep in mind that it’s important to at a minimum use a fully permissive license. This greatly expands the number of users because you aren’t asking for consideration if they make money off your work, but also protects you from liability due to the inherent acceptance of the license based on its use.

  2. Document your code. Good documentation is essential for any open source project. It helps users understand how to use your software, and it makes it easier for others to contribute to the project.

  3. Create a community. One of the best things about open source software is the community that surrounds it. By creating a community for your project, you can attract users, developers, and testers who can help you improve your software.

  4. Be responsive to feedback. One of the benefits of open source software is that users can contribute to the project in a variety of ways. Be sure to be responsive to feedback, both positive and negative. This will help you make your software better and more user-friendly.

  5. Market your project. Once you've open sourced your software, it's important to market it so that people can find it. There are many ways to market your project, including online forums, social media, and conferences.

  6. Meet other developers where they’re at. Is the community of developers that might use a library or package on GitHub or CPAN or some specific network just for their tools? That’s where it should live.

  7. Be clear about the intent. Is this a library for python to do a thing? People will always want to scope creep. If we’re clear about what we built and why then others can rally behind us without constantly trying to increase the scope of what we’re up to. Having said that, be amenable to a little scope creep when it makes sense for what you need.

  8. Think about the intended use of the software. If you are planning to use the software for commercial purposes, you will need to choose a license that allows for commercial use. Otherwise, think about how others will use it and what you’ll do when they use it in ways you might not have thought of!

  9. Be clear about an expected level of contribution. If you are expecting others to contribute to the project, you will need to choose a license that allows for modifications and redistribution.

  10. Decide what level of control you want. If you want to maintain control over the project, you will need to choose a license that does not require you to release modified versions of the software under the same license.

  11. Start small. If you're new to open source, it's best to start with a small project. This will help you learn the ropes and avoid getting overwhelmed.

  12. Don't be afraid to ask for help. There are many online communities and resources that can help you with open source development. Don't be afraid to ask for help when you need it.

  13. Have fun! Open source development can be a lot of fun. So relax, enjoy the process, and don't be afraid to experiment.

Open sourcing your software can be a great way to give back to the community and make your software better. Given that most of these are pretty straight forward, let’s dig in a little further on choosing a license.

Licenses

One of the most complicated part of open sourcing software can be choosing an appropriate license. An open source license is a type of software license that gives users the freedom to run, study, share, modify, and improve the software. Open source software is typically developed and distributed by a community of users and developers, rather than a single company.

There are many different open source licenses available, each with its own set of terms and conditions. Some of the most popular open source licenses include:

  • The MIT License: The MIT License is a permissive license that gives users a lot of freedom to use, modify, and distribute the software.

  • The GNU General Public License (GPL): The GPL is a copyleft license that requires all modified versions of the software to be released under the same license. There are a few different versions of GPL, so read each if this is the direction you want to go.

  • The Apache License: The Apache License is a permissive license that is similar to the MIT License.

  • The BSD License: The BSD License is a permissive license, initially created by the Berkeley regents to open source BSD, that is similar to the MIT License.

There’s also licenses unique to certain platforms, like GitHub’s Unlicense, another permissive license that protects the creator from liability. When choosing an open source license, it is important to consider the intended use of the software, the level of contribution you are expecting from others, and the level of control you want to maintain over the project. It is also important to note that not all open source licenses are compatible with each other. If you are planning to use multiple open source libraries in your project, you will need to make sure that the licenses are compatible.

5 views0 comments

Recent Posts

See All

Comments


bottom of page