Search form

You are here

What is Open Source Software?

Broadly speaking, open source is a term that is used to describe software that can, with the consent of its creators, be distributed and modified relatively freely and without restriction. Such software is usually produced by communities of interested developers who have a mutual need for working software, and a simultaneous aversion to the heavier financial burdens and “locked down” nature of commercial solutions. Commonplace software like Firefox, WordPress, OpenOffice and VLC Media Player all originated and grew in this way.

The most distinctive characteristic of open source software is that its source code (usually the entire source code) is published “openly” for review and use by anyone who is interested. This is a very different than the approach taken by most commercial solutions, which generally do not publish any code at all.

The reason that the availability of source code matters is that it gives the developer the ability to change, modify, update, and improve a software’s key features and functionality, so that it works exactly as you need. It also allows developers to see exactly what is going on when the software is running, which is helpful when debugging any issues (speeds up the development cycle).

How Portland Webworks Uses Open Source

While Portland Webworks is not exclusively an open source software vendor, we do rely heavily on well-established open source products in our development processes. Our use of such products is usually oriented towards the integration of individual open source components into larger, fully integrated, enterprise-level solutions.

It should be apparent from our Portfolio we actually have a great deal of expertise and positive achievement in this area. Specifically, our projects have frequently entailed the deployment of open source resources in these fairly common configurations (among others):

As powerful back-end engines, delivering important automations that can be called by our own middleware.

The Benefits of Open Source

Open source software is by no means a panacea, but if selected and used in a thoughtful manner it can provide significant advantages. That’s why we spend a significant amount of time testing and trialing new open source products before we introduce them into our tech stack, so that our clients don’t become victims of “bleeding edge” software.

These are some of the criteria we look for in the products we select:

User Base

A large, active user base concerned with product development, and enterprise issues, such as security and interoperability.

Documentation

Thorough documentation, to aid developers ramping on the technology.

Compatibility

The resource must be able to work well with our existing tools, particularly our QA suite, to ensure ease of testing and maintenance.

Quality

A better features set than its commercial counterparts.

The open source software landscape is very fluid. Products are frequently hailed as “the next big thing,” only to fall out of fashion just as quickly. That’s why we seek out tried and tested products - then try and test them ourselves – before recommending them as part of your long-term software plans.

A great deal of open source is also free, which usually yields a lower Total Cost of Ownership (TCO) by avoiding initial software purchase costs and/or long term licensing.

Open Source components potentially allow for greater customization to the unique needs and interests of an organization.

A lot of open source tools are developed with interoperability in mind, and so they can be assimilated more easily into most clients’ broader infrastructures.

Many open source products have been tested and hardened by a global user community, and so can lay claim to greater stability and security.

Open Source products are often supported by large developer communities, meaning support documentation is usually abundant and free.

Open Source can be well suited to longer-term operations, because active development communities have an interest in seeing their tools evolve to meet emerging needs, whereas the development path of commercial software can be subject to the whims and sudden decisions of corporate executives.