Tag Archives: Open source

5 Best Practices for Utilizing Open Source Software

Open source software is everywhere and has the potential to help businesses accelerate development and improve software quality. Achieving these results can be challenging if care is not taken.
By Jacob Beningo – Here are five best practices for utilizing open source software successfully.

Best Practice #1 – Use an abstraction layer to remove dependencies
One of the common issues with code bases I review is that developers tightly couple their application code with the software libraries they use. For example, if a developer is using FreeRTOS, their application code makes calls specific to the FreeRTOS APIs in such a way that if a developer ever decided to change their RTOS, they’d have to rewrite a lot of code to replace all those RTOS calls. You might decide that changing libraries is rare, but you’d be surprised how often teams start down a path with one OS, library or component only to have to go back and rewrite code when they decide they need to make a change.

The first thing teams should do when they select an open source component, and even commercial components, is to create an abstraction layer to interact with that component. Using RTOS as an example, a team would use an OS abstraction layer, OSAL, that would allow them to write their application code with OS independent APIs. If the OS changes, the application doesn’t care, because it’s accessing an abstraction layer and the software change can take minutes rather than days.

Best Practice #2 – Leverage integrated software when possible
Most open source software is written in its own sandbox without much thought given to other components with which it may need to interact. Components are often written with different coding standards, styles, degrees of testing, and so on. When you start to pull together multiple open source components that were not designed to work with each other, it can result in long debugging sessions, headaches, and missed deadlines. Whenever possible, select components that have already been integrated and tested together.

Best Practice #3 – Perform a software audit and quality analysis
There is a lot of great open source software and a lot of not so great software. Before a developer decides to use an open source component in their project, they need to make sure they take the time to perform their due diligence on the software or hire someone to do it for them. This involves taking the time to audit the component and perform a quality analysis. Quality is often in the eye of the beholder.

At a minimum, when starting out with an open source component, the source code should be reviewed for:

Complexity using cyclomatic complexity measurements
Functionally to ensure it meets the businesses needs and objectives
Adherence to best practices and coding standards (based on needs)
Ability to handle errors
Testability

Best Practice #4 – Have the license reviewed by an attorney
Open source software licensing can be difficult to navigate. There are a dozen or so different licensing schemes, which place different requirements on the user. In some cases, the developer can use the open source software as they see fit. In others, the software can be used but any other software must also be open sourced. This means that it may require releasing a product’s secret sauce, which could damage their competitive market advantage. more>

Why Autonomous Vehicle Developers Are Embracing Open Source

By Chris Wiltz – GM Cruise is turning loose its tool for autonomous vehicle visualization to the open source community for a wider range of applications, including robotics and automation. But its only the latest in a series of similar developments to happen over the course of the year.

This time the General Motors-owned Cruise is open-sourcing Webviz – a web browser-based tool for data visualization in autonomous vehicles and robotics. Webviz is an application capable of managing the petabytes of data from various autonomous vehicle sensors (both in simulation and on the road) and creating 2D and 3D charts, logs, and more in a customizable user interface.

Cruise is making that tool available to engineers in the autonomous vehicle space and beyond. “Now, anyone can drag and drop any [Robot Operating System (ROS)] bag file into Webviz to get immediate visual insight into their robotics data,” Esther Weon, a software engineer at Cruise, wrote in a Medium post.

Difficulties in testing autonomous vehicles have played in a key factor in major automakers rethinking their timetables on the delivery of fully-autonomous vehicles. Simulation is becoming an increasingly common solution in the face of time-consuming real-world road tests. But simulation comes with its own challenges – particularly around data and analysis. A robust autonomous vehicle is going to have to be intelligent enough to navigate and respond to all of the myriad of conditions that a human could encounter – everything from bad weather and road hazards to mechanical failures and even bad drivers.

To create and train vehicles to deal with all of these scenarios requires more data than any one company could feasibly gather on its own in a reasonable time frame.

By open sourcing their tools, companies are looking to leverage the wider community to take part in some of the heavy lifting. more>

The Quiet Maker Revolution

By Suzanne Deffree – No castles were stormed. No governments were overthrown. We’ve been experiencing a revolution in the worlds of engineering. It’s just been a quieter one than expected.

When open-source platforms and the maker movement started ramping up five years back or so, change came with its chants of “power to the people.” Indeed, the two trends that see individuals or groups of individuals create and possibly market products often without corporate intervention aim to do just that: give power of design to the masses.

The change that many feared when open source and the maker movement began to take hold has proved not to be a negative but a positive, growing STEM abilities, understanding, and careers. Engineering stands stronger than ever.

The revolution has come without scorched castle doors or protests at state offices. It’s been much quieter than we thought, but don’t mistake quiet with unimpactful. more> http://goo.gl/xe5KT3

Cloud Computing Is Forcing a Reconsideration of Intellectual Property


By Quentin Hardy – Tech really is changing how we think about our ideas.

There are over one million servers in each of the big clouds of Google, Microsoft, and Amazon, executives at those companies say. For new entrants, one limit is that capital spending costs more than $1 billion a year. Another is engineering know-how; how the future works will be in just a couple of thousand heads, at most.

“Open source isn’t just a way to give back to the community. It’s a way to blow up the other guy,” said Bill Hilf, who oversees Hewlett-Packard’s work on OpenStack.

“How will our economy function in a world where most of the things we produce are cheap or free?” more> http://tinyurl.com/ohb86uq

Related>