Want job security? Get yourself a law degree, bone up on software licensing issues, and put "Chief Intellectual Property Officer" (CIPO) at the top of your resume. Don't take less than $300K to start. They might even let you work from home.
That's because we're about to enter an era where legal implications will play more of a role in software development and code assimilation than, well ... software. We are barely into the first inning on this, and let me tell you, it is going to be hard ball.
For those ISVs that are slapping together software products -- commercial or otherwise -- from a mixture of software code and components, across various commercial and open sources, and with a gumbo of associated licenses -- do hire a person with the CIPO title. And don't let them work from home.
The notion of mixed source development -- the "mingling" of various types of code and types of legal definitions of allowed code usage -- is very popular now, not only within ISVs, but embedded device manufacturers, enterprises, and outsourced software job shops the world over. Heck, software is part of so many products and services these days that it's hard to name many companies that do not have a software liability ... err, capability.
For many of the development organizations within companies, the notion of mingled software stacks of mixed source products that embed with your developers' own specific code creations is compelling. It allows the quick ability to craft SOLUTIONS. Why build an application when you can glom on more of the stack and sell it as a SOLUTION with little additional cost beyond your own code development? This technically, and from a business cost perspective, makes a great deal of sense. But there are some potential "gotchas" that amount to a lurking legal bogeyman in the burgeoning lines of fine print within some software licenses.
So be warned. Watch out what you download and what you do with it. Cover your butt by getting your own CIPO to sign off on all code that you as a developer or designer allow into your own SOLUTIONS, even for internal use -- no matter how small those snippets. And be very careful about mingling and embedding other companies' "open" or "shared" code with any other code. Be especially careful mingling "shared" code under one license with code that you access and use under the GPL or other more liberally open licenses. It would be nice if all non-closed code was GPL in nature, but it ain't, so get over it.
Why am I urging such caution? Why be a code mingling spoil-sport? Because I'm sensing a new growth opportunity in the commercial software business. You know, the ones' whose margins are threatened by proliferating use of open source and mixed source stacks. It seems that some commercial software vendors are actually hoping that their "shared" or "open" code, under a menagerie of licenses and for FREE!, gets mingled or embedded with other FREE! but fully open code. By waiting until that improperly associated code (improper based on the dictates of the fine print in the non-pure open source licenses) goes deep into the market, the commercial vendor then gains a fine new business opportunity.
Like the parasite that gains a free ride and snack from its host, some vendors could use the license trap to turn other development organizations into their dupes on design, sales, marketing, channel, VAR, and maintenance and support functions. Here's how it might work: As the development organization you download someone else's stack or components under an "open" license, do the code assimilation work using what looks good, and create a mingled SOLUTION. You sell and support this amalgamated design it in the field, and it sells like hot cakes.
Then, one day, the purveyor of the FREE! code comes a knocking with their own CIPO to talk to your CIPO. They point out the legal trap, err ... mishap. Oops! And then they make you an offer you can't refuse: Pull all the product from the market ASAP, or re-engineer it all and pay a fat settlement for the offense, or ... better yet, sign here on the dotted line. Above that line are the new terms by which you have now properly licensed the use of that once-FREE! and "open" code. Please pay now and for every additional sale you make. Thanks for the ride!
Now that's what I call innovation.
Can anyone guess which "open" licenses or "shared" source licenses might allow for such a novel business development scenario? Has anyone out there been threatened with an AUDIT based on their mingling of code under different licenses? Do tell.
And don't blame them for trying the legal gotcha tack, it only shows how serious the threat of open source is to them. But do be mindful of commercial software vendors bearing gifts. Make sure the CIPO says it's okay to let the large wooden horse inside the gates.