Read up on the latest ideas and technologies from companies that sell hardware, software and services. Business Mashups: Build and deploy applications without the need for professional developers
Agile in the Enterprise
SOA Governance: Rule your SOA
Application Modernization: Preserving Your Organization’s DNA
Microsoft 2008 Mission Critical IT
Aligning IT and the Business with Demand Management
The value of Project Portfolio Management
A Guide to Next-Generation Backup, Recovery and Archive
Zones provide focussed content from Computerworld and leading technology partners.Newsletter Subscription
Every good carpenter has a box of tools he carries from job to job: a hammer of just the right weight, a selection of drill bits, and so on. As he gains experience, his toolbox gets heavier with new, and sometimes specialized, equipment. Similarly, programmers accumulate their own tools as they move from job to job, but these tools are digital and often include snippets of code written over the years.
And that can create a problem, says Vishwanath Venugopalan, an enterprise software analyst with the 451 Group. These snippets are often reused unintentionally in a simple cut-and-paste operation without full knowledge of their former or current company's intellectual property (IP) policies. What's more, "the ubiquitous availability of code snippets in blogs and online tutorials poses a bigger risk to intellectual-property hygiene in a company," Venugopalan says.
Although the problem of IP pollution is probably greater in the open source world, the growing popularity of modular, reusable code (think about Salesforce.com's AppExchange) creates headaches for users and developers of commercial software as well. And that, in turn, is creating a business opportunity for a handful of specialized software companies, including Black Duck Software, Palamida, and most recently Protecode, a startup based in Ottawa, Canada.
Interestingly, none of the three major players in this niche are open source.
Protecode is a plug-in to the Eclipse IDE that detects and logs the content entering a software project, and then checks it against an online database called the Global Intellectual Property Server, or GIPS. That's much easier and more accurate than relying on memory and manual record keeping. Companies can set policies to restrict the code that can be brought into the project based on the license type (such as to restrict GPL code usage). If a programmer uses code that isn't yet licensed by the employer, Protecode will create a bill of materials needed to comply with licensing provisions.
Because Java, C, and C++ code can be developed in Eclipse, the product's integration into Eclipse lends its support for these programming languages. Protecode has indicated that Visual Basic support might be in the cards as well, says Venugopalan.
Computerworld Member Login
Beyond Virtualisation - The Roadmap to 2012
CIO Breakfast Briefing
8:30am - 10:30am
Brisbane | 22 July | Sofitel Brisbane
Sydney | 23 July | Four Seasons Hotel
Canberra | 24 July | The Hyatt
Attend and discover:
- What happens after virtualisation
- The benefits automation drives
- When automated infrastructures will emerge
- What the roadmap to 2012 looks like
- How to deliver an automated architecture
- How to maximise your investment in virtualisation
- +
Computerworld Live Podcast #96: Security at the Edge 11/06/2008 09:22:22
CW Live speaks with Amol Mitra, HP ProCurve Director of Marketing for Asia Pacific and Japan. Today's topic: how enterprises are starting to shift away from simply controlling security via server logins, firewalls and moving to more adaptive security frameworks. - +
Data Management Edition #10: Multi-Petascale Systems 02/05/2008 09:12:33
This week we look at sustainability and the development of multicore technologies to build multi-petascale systems. - +
IT Security Edition #11: How to poison the Storm botnet 01/05/2008 08:51:55
This week CW Live presents a case study on how to poison the notorious Storm botnet . Plus we take a look at Cisco's plans for Ironport. - +
IT Security Edition #10: Cyber-battles fought and won 24/04/2008 11:09:47
Vendors bow to end user pressure to improve product security, and we take a look at the latest concepts shaping the cyber-battlefield of the future. - +
Data Management Edition #9: Data centre makeover 24/04/2008 07:43:06
This week CW Live looks at the death of the old style data centre which is undergoing its first makeover in more than 30 years.
Zepto release the Mythos, the 2nd installment in the Centrino 2 refresh 2008-07-09 12:05:00+10
Symantec Data Protection Solutions Preferred by Users and Industry Experts 2008-07-09 11:56:00+10
Residential VoIP: Let’s Get Naked, Declares IDC 2008-07-09 10:43:00+10
Frost & Sullivan: Australia’s Mobile Advertising Spend to Grow 300 Per Cent in 2008 2008-07-09 07:57:00+10
DIARY ALERT - Symantec data leakage prevention seminars 2008-07-08 17:20:00+10
Realizing the Value of Unified Communications
Discover how the integration of disparate technologies in your company can lead to greater user productivity, improved management, lower costs, higher efficiency, and easier risk mitigation.









Comments
Where is the line drawn?
Bill,
Interesting article about how developers take code from one company to the next. Of course any kind of copying of code is an automatic infringement on copyright, but there is a far more insidious implication that goes unnoticed in your article.
Lets say I work for company A, and they ask me to build something for them. As part of what I create I use a certain technique that I find works very well. I move on to company B who ask me to build something for them. I find that the same technique I used with company A would work just as well for company B....
What do I do?
Do I avoid the technique altogether because it would infringe on the IP of the company I was at when I created it? Do they own the technique itself or just the implementation? If I use my memory to re-code using the same technique (ie no direct copying of code done) am I breaching their IP? Or am I wasting company B's valuable time and resources by re-inventing the wheel the 10th time over by trying to use my memory to reconstruct the same thing I have created everywhere else?
You could look at two implementations using the same technique and see they were not copied, yet you could see similarities that are significant enough that some people may say its the same thing. Is it considered a pattern and thus not copyrightable? Do I call it MY pattern and put my own patent on it to stop others from using it? Can I put a patent on something which is a technique for doing something?
While some of these techniques may be broad enough to be non-specific (Factory, Controller, Facade, etc), other techniques are fairly specific yet highly re-usable across projects. As a developer I keep seeing a need for a certain implementation, so I keep re-inventing the wheel everywhere I go. Does intellectual property cover the "nuts and bolts" of programming or the use of it as a whole?
I can't help but feel that I am wasting their time by repeating the same thing over and over again when I already know the generic one I created previously already works. What if the new version of it that I coded from my mind misses some vital component? Am I not doing more of a disservice to the customer by NOT re-using code that I know has been tried and tested over and over again by creating something that tries to use my memory to reconstruct the principle?
Surely having a "toolbox" of useful code snippets which you know as a professional is already well tested and encapsulated, as well as being suitable for the purpose is a benefit to any company you bring it to. What I fear is that I do this "favour" for a company, and in return they try to take it off me by claiming it is now their intellectual property, when in reality I could have saved several hours of their time by not re-coding it from memory and costing them money in the process.