If you are finding some extra time for prototyping new designs and side projects, you may be searching for third party/open source software to make rapid progress. Alex shares a few key considerations when selecting open source software to incorporate into your code set.

If you need assistance in designing and developing source code for your system, product and/or device, we can help. Please schedule a complementary consultation with one of our consultants.

Schedule a Free Consult


TRANSCRIPT
Alex Dagana at Precision Systems, Inc. and we’re here to talk about open source software today. Starting with the very concept of open source, it simply means freely available software where the source code is open to the public. You can review every line of code, see exactly what’s in there, and it’s typically supported by the community or online developers working in collaboration.

Some of the pros and cons of using open source software, we’ll start with some of the pros. It can save you a little bit of money without having to write a new package, you don’t have to reinvent the wheel. You also have more developers looking at the code so it may be easier to find problems or issues with the code and it can be a little more reliable because it’s more battle tested, many, many people are using it, a lot of people are commenting and fixing bugs, so it can be more reliable.

Some of the cons of using open source software can be related to the licensing. Certain licenses require you to share your source code with others after you’ve used the library. You don’t typically get as much support as you would with a commercial package, most of the support is focused in the online community: forums, user groups, things of that nature. Open source software can also be vulnerable to malicious code. Someone can go in and maybe put a back door or bad update in the code; however, given the community nature of the software, the malicious code issue may correct itself over time, if someone adds something, today for instance, in the code set, because that source code is openly available to everybody, presumably overtime someone would catch that and say, hey this line of code looks suspicious, let’s analyze it, fix it, and find out what the issues are. Open source software can save you a little bit of money and time to market. You don’t want to reinvent the wheel, as they say, or spend time solving problems that have been solved.

Take a simple logger for example. A common task that’s used in a lot of programs. If you’re just writing data to a text file, sure, maybe you can do that in 5 to 10 minutes, not a problem. Maybe you want to add features to make the log enablable, you know, cut it on and cut it off, fine you can add that in a couple minutes. But as soon as you start adding more and more features, you may want to consider using a library, something you’ve previously written or something open source. To create a full-featured logger, it’s probably going to take you more than an hour. There’s several commonly used loggers that you can pull offline and configure in 10 or 15 minutes and then you just saved a bunch of time and money.

So as far as selecting open source software and considerations, testing is always a concern. You have to test your systems. While you would most likely perform system-level and integration-level testing yourself to make sure the library performs as intended, most popular open source libraries come with some form of unit testing to just make sure that they work as intended. So you can run the tests that come with the libraries, and then you can run your own system and integration-level tests when you put your application together.


No Comment

You can post first response comment.

Leave A Comment

Please enter your name. Please enter an valid email address. Please enter message.