Last week I participated in a panel discussion hosted by the Web Content Mavens. I really had the easy seat of the group. I had the opportunity to speak first and therefore inadvertently steal other people's points and cause them to respond to me. While it wasn't the goal, it was an unexpected and interesting situation…
After taking a few days to digest the discussion, I wanted to share some closing thoughts and open questions:
First of all, there are still *huge* misunderstandings about licensing. It was even brought up in the opening statements. GPL vs BSD… who cares? Each determines the rules, requirements, and expectations if you choose to distribute your customizations. Read that statement carefully. Neither of these licenses require you to distribute anything. It is entirely up to you.
Now, that said, when you're using GPL software, it's generally considered polite to share your improvements/fixes back with the community. But you are under zero obligation to do so. Therefore, the license will not matter and should not affect the decisions of 99.99% of the organizations out there.
Second, while Open Source is good, open source might be good enough. What does that mean? Sure, the GPL/BSD-style licenses are great, but realistically you might be able to get along with a proprietary package assuming a) you are allowed to perform your own customizations, b) you have some faith/assurance from the company if they disappear, and c) you have the right to use it however you see fit. (Distribution is another thing entirely, but not relevant to 99.99% of you.)
Third, there are numerous options out there. No matter what (relatively recent) technology stack you want to use, you will have options. On the panel, we had three PHP options, two Java, and one .Net. There are options for everyone, just poke around and find them. Don't immediately close off technology options until you choose to.
Finally, no option will meet all of everyone's requirements. Sorry to break your hearts, but it's true. You'll never find something that meets 100% of your needs and will never perfectly replace your existing custom tools. That leaves you with some questions for your team – and your team alone – to consider:
- Which are really requirements versus wants?
- Which of your requirements are the most important?
- Which of your requirements flexible?
- Which of your requirements are simply artifacts of the old system/workflows?
And personally, I'd like to thank Scott Mendenhall for his moderation and invitation to be on the panel. And for Scott, Jasmine Sante, and Kristin Roper's efforts in starting the group, keeping it moving, and generally pretty well organized.