Monday, September 17, 2018

Your Startup and ColdFusion - Why Open Source is the Way to Go

The first thing that usually comes to mind when open source software is brought up is that it's free.  Yay! There are different interpretations of what "free" means to your business. From the free operating systems to free CRMs and free bookkeeping software, open source has plenty of options these days. If you can't quite afford to buy Office licenses for all your employees, you can consider the open source LibreOffice option. In this way, getting up and starting your business means you're not limited by your account balance like you used to be.

Use Open Source

On top of the free stuff, there are certainly other reasons to consider the use of open source software in your startup.  For example, the total cost of ownership can be significantly decreased. This may take a bit of planning before hand, but that's what a startup is about. Rather than buying a new Windows license for all your employees to upgrade every few years, you might become a Linux company and have your IT group roll out upgrades that save you time and money. Also, depending on the types of applications you use, you can take advantage of creating a more modular architecture. Instead of being a monolith of a company, why not break up a centralized system to something that can be quickly re-implemented should there be a crisis in one area of your business?  For example, why not have multiple systems that hold your marketing landing pages, your client portal, your report generator and other online options on multiple open source servers rather than one server that can go down in the middle of the day?  All for the cost of your hosting platform only.

Open source software is also great when it comes to transparency and security. Your first reaction may be to say, "Oh, really?!" Yes, really. When you use truly open source software one of the defining attributes is that you have access to the core software code used to build the app.  You, and everyone else, have the option to see how any of your data is used.  If something looks a bit sketchy, or a bug pops up, someone can bring this to the attention of the software maintainers as well as the community. So, while you might not be inclined to review every line of the code of your next CMS, if it's open source, you can. 

Using open source also makes you part of a community.  Just like your own neighborhood community, your participation can be as much or as little as you'd like. It's always a good idea, though, to try to be a community member in good standing. As your company grows, the community you relied upon to help use your software can look to you as an example of what can be achieved. Also, if you're lucky enough to have your developers participate in the open software community, you can bet that knowledge sharing will increase.  Why let your tech knowledge base stagnate on old methodologies? 

Now, how about open source and ColdFusion? For a large part of its history, ColdFusion was known as the web app server you paid hundreds to thousands of dollars to use. For reasons, legitimate or not, Adobe (/Macromedia/Allaire) ColdFusion was never one to consider jeopardizing the quality of their platform offerings and support by breaking them up in a way that could make key components free for businesses. So what did many developers and businesses do? They looked to other open source options. Now, though, CFML can be served up by more than just Adobe CF. So, if you're looking for open source CF, Lucee Server is your answer.  If you're looking for open source package management (CommandBox), API frameworks (Taffy, ColdBox, etc.) or content management systems (ContentBox, Preside, Mura, etc), then  CFML has you covered. Bear in mind that all these come from different groups of development professionals, but variety makes finding the solution for your business better.

Share Open Source

The next thing you'll need to consider is whether or not you want to open your own business source code. Whether you should or not is one of those questions you'll answer based on your experience with the process. If you consider all the software you have available to use that is open sourced, though, maybe that should give you an idea that it's not something you should ignore. In a world where information grows exponentially everyday, you just might need to consider alternative approaches to keep up with innovation.

Opening your source code is actually less of a business model decision and more of a process decision. Would you really make money on how neatly formatted your code is or what language it's written in?  Your startup will survive and thrive on meeting a real customer need in a way that beats your competitor. How do you do that? You use and maintain a code base that is developed fast and developed well. If you're part of a community that is actively wanting to help make the software you maintain good software, then all the better. Again, your value isn't the source code, it's in the business model itself. Software is a tool for a business, and open source is a process of shared interest that makes the tool better.

So what do you do? You decide what problem your software will solve and you build to that. The ColdFusion community has become, and continues to progress to, a place of modern developer thinking. Over the years, the opportunities to share in open source CFML projects has diminished, but that's certainly changed with some key figures in the CFML world. Lucee Association Switzerland, Ortus Solutions, Group, Blueriver, etc., are all great examples of organizations that have decided to take open source ColdFusion to a new level.

What to Watch Out For

Now, while you may want to jump on board the open source train, you have to also consider a few things. For example, are you comfortable that you're code is out for the world to see? By this, I mean, is your actual business model separated enough from your code that you're not unintentionally giving away trade secrets? That could be bad. On the other hand, if you're uncomfortable with you code because of bad coding style, maybe opening the code will make you consider best practices.  That would be good. Also, if you're relying on strangers to contribute updates and bug fixes, you better be on top of your testing, security and code review.  Again, though, these are parts of your company's process that you should always consider anyways. 

By that same token, if you're using a lot of open source code, be sure to test and have security practices in place as well, especially if you're working with extra sensitive data.  The good news is, if you need to build in better security, you can do it.  Maybe share it as well.

Finally, be aware of the license which you use to release your software and under which you agree to use third party software. You're making a business, and legal, agreement here, so you'll want to make sure you know where you stand. If the time comes when you want to sell your company, you'll want to know how your choices affect the value of the code you've used and modified.

Be a Part of Something

ColdFusion is on a path that takes advantage of so many modern elements. Open source is one of the tools that needs to be embraced to make sure that this great platform will continue to meet the needs of users down the road.

The world of startups is in a state of flux like never before. Luckily, the fundamentals are still a necessary part of building a successful company with a bright future. Even in businesses that seem to be built on speculation and serve no more purpose than to gather that next round of series funding, you should consider opening your source code.  It's a process tool that works to keep your code in check. In a techno-scape where transparency is maintained by making sure everyone is distributed a copy of everything, privacy will take on a different definition. Open source software will continue to be a part of that change for the better.

No comments:

Post a Comment