Enterprise programming lessons from an open source architect

There are many lessons to be learned when an open source software architect provides tips and tricks for enterprise software developers.

In the secretive and profit-focused world of proprietary software development, the open source community stands as the champion for doing things differently. The application architects and the midnight-oil burning software developers who make open source software (OSS) work believe that the driving principles of open source software success are the FACTS:

The creation of consumable parts is a side effect of using the right approach to build software.

Raymond Augé, Senior Software Architect at Liferay

  • Freedom
  • Accessibility
  • Collaboration
  • Transparency
  • Sharing

Yet even companies that eat, sleep and breathe open source are still failing to really take advantage of all the benefits this model has to offer. Raymond Augé, Senior Software Architect at Liferay, recently shared his insights about several mistakes open source firms make in this area by not going far enough.

#1 Reinventing the wheel

It may sound counterintuitive, but it is possible for software developers to be too focused on the customer. When you put your best minds to work on solving the customer’s problem, you may totally miss the fact that someone else has already beaten you to the punch. Auge says there are very real risks to cutting yourself off from the larger community, "You’re developing from the bottom of a deep dark pit. Your product has probably already been developed by someone else, who has done a better job, or it’s not really going to serve the needs of anyone in particular."

In contrast, developers who are paying attention to what’s going on in the larger open source community are going to be clued in to the fact that others are already working on similar problems. These peers can point out the dead ends that have already been tried as well as the most promising avenues currently being investigated. Sure, there’s the possibility that all your team’s nice, shiny ideas will be shot down. But that’s just a lot of time and money saved. Don’t be nervous or scared. Remember, there are no insults – only input!

#2 Clinging to monolithic design

A lack of modularity is a serious problem for any firm that wants to become a better collaborator in the open source community. If you want cross-pollination to occur, you’ve got to have pieces with standalone functionality for others to build on and incorporate into their own projects. Every ambitious open source firm wants to become the standard for their particular industry niche. That’s not going to happen if it’s too difficult for other developers to break off a bite sized chunk to work with. Ideally, modularity can be architected from the beginning. However, it can also be incorporated during later optimization if the powers that be see the value in having a rich library of self-contained resources to share with others. According to Auge, the creation of these consumable parts occurs organically during the development process, "It should be a side effect of using the right approach to building things."

#3 Not making time to give back

Firms that can’t get out of their shell long enough to connect with the larger network of developers aren’t just missing out on the opportunity to learn new things. They’re also forgoing an incredible opportunity to brand their company as an innovator and a top employer. You should have plenty of developers on staff who can boast about being contributors on major open source projects outside of their day-to-day work in your organization. You can leverage these stars to promote employment opportunities via corporate social media. Auge points out that the ability to collaborate and connect with the development community will actually be a key skill for recent graduates in tech fields. So, you may actually be creating the ideal environment to attract even more great talent by having your team get out there and network.

#4 Not bragging enough

Maybe your firm isn’t just about open source development. Perhaps you have a different product, service or solution that you’d like to showcase. If you have a crack development team that’s created excellent software to enhance your business, you should find a way to let other people to know about it. Augé points out that Netflix has made quite a splash by making a huge chunk of its own platform available for others to build on, along with some sweet monetary incentives that drive innovation.

"They’re a company that’s putting it out there and saying, ‘Hey! Look at what we’ve done; look at what we’re doing. It’s incredible and we think other people can use it.’ Now, people are thinking of them as not just a streaming company anymore. They are thinking of Netflix as a technology company that builds a lot of cool things." You could take a page from this playbook. Stop just thinking about how your open source development projects will bring in profits for a specific sector of your business and start thinking about how they can generate good press for your whole business.

How is open source software making your development tasks easier? Let us know.


Recommended Titles

OSGi in Action By Richard Hall
OSGi in Depth By Alexandre de Castro Alves
Enterprise OSGi in Action By Holly Cummins
Liferay Portal Systems Development By Jonas X. Yua
Liferay in Action By Richard Sezov
The Well-Grounded Java Developer By Martijn Verburg

Dig Deeper on Open source Java

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.