Posted on by & filed under Content - Highlights and Reviews, Programming & Development.

A guest post by William Kennedy, a managing partner at Ardan Studios in Miami, FL, a mobile and web app development company, and the author of GoingGo.Net.

If you read my article titled Analyze Data With MongoDB and Go, then you will understand the context of this debate with the idea of open source. That article talks about an application we are building, and it publishes some of the proprietary data we are gathering. It also shows techniques we are using to perform the data analysis. This has caused a passionate debate among the business partners in my company. Does the article provide too much proprietary information that could harm our success with the application?

Let me go back in time for a bit. When Microsoft released .NET to the world back in 2003, I was quick to leave C++ programming behind. I began to port all of my C++ utilities, so I could write Windows services in C#. During this time, I wrote two articles about my thread pooling and socket utilities. They were published and I was excited, but I was quickly told to stop because I was crazy for giving away all of this code.

Now it is 2013, and this time I am porting code from C# to Go. I started a blog and I am sharing all of the code, techniques and experience. I was asked again by a publisher to write some articles and I now find myself in the same exact position 10 years later. My business partners are concerned that I am over-sharing.

I can’t argue with my business partners about the content in the article. If some big company was inclined to, they could take the idea and probably build it better and faster. They could take the techniques I outlined and use them against us. There would be nothing we could do about it, since the articles become prior art in the patent world and we wouldn’t have a leg to stand on.

So why, against my business partners wishes, did I publish the article? For me, it is more important to be a part of the community, and to share ideas, information and code. It is why we have technologies like MongoDB and Go today. It is why these technologies are so powerful and popular, and can be used in very large applications. This is not an accident.

To say I am not fearful about the same concerns my business partners bring up would be a lie. Arthur Koestler wrote, “Courage is never to let your actions be influenced by your fears.” If I didn’t publish the article, I would be allowing my fears to dictate my actions. My fears could be a result of knowing I am doing something stupid. I have no idea.

I don’t know if the article is going to eventually hurt or help us. All I know is my gut is telling me to publish the article and the community will respect what we are doing. If my decision ends up being wrong, then I can feel good that I am in the company of great men. Thomas Edison once said, “I failed my way to success.” If we never give up and do the right things, we will eventually succeed.

Safari Books Online has the content you need

Below are some resources that cover all areas of open source from Safari Books Online.

Open Source Strategies for the Enterprise explores how the key success factor in an open source community is the equality of all the participants. A strong community is characterized by high levels of transparency about the project coupled with strong respect for the privacy of the participants. Read why you should not impose your business model on anyone.
Intellectual Property and Open Source helps you understand patents, copyrights, trademarks, trade secrets, and licenses, with special focus on the issues surrounding open source development and the GPL.
Economic Impact of Open Source on Small Business: A Case Study brings together Bluehost anonymized customer data and trends with O’Reilly Media’s job market data, along with other sources of trend data, to capture the current state of open source as it relates to small to medium-sized businesses.
The Open Source Alternative: Understanding Risks and Leveraging Opportunities is a user manual for understanding and deploying open source software licensing in business. It explains and analyzes open source licensing issues, and gives practical suggestions on how to deal with open source licensing in a business context. Including useful forms, information, and both technical and licensing background, this book will help you avoid legal pitfalls and educate your organization about the risks of open source.

About the author

bill.headshot William Kennedy is a managing partner at Ardan Studios in Miami, FL and is the author of GoingGo.Net. Ardan Studios is a Mobile and Web App Development company. Bill spent his first 10 years as a professional developer writing low level C/C++ for the healthcare and call center industries on the Microsoft stack. Then in 2003 switched to C#, developing those same back end systems for the call center and gaming industry. In May 2013, Bill looked for a new language that would allow him to develop back end systems in Linux. Bill found Go and has never looked back. He has been married for 18 years. He and his wife enjoy their five kids, four cats, one dog and all the wild animals who have found a home in the Kennedy backyard.

Tags: .NET, C#, debate, Go, MongoDB, open source,

One Response to “An Open Source Debate: by William Kennedy”

  1. Stephan Sutter

    Thank you William for your courage.
    Tell your partners, that if go and mongodb ist only used by a few people, they will never have an ecosystem for long term, it will remain a niche technology without future.
    Thanks, Stephan