Code Exchange, research, and some history

October 29th, 2009 Posted in Portal

SAP (or rather, SDN) has announced a Code Exchange program. It would seem, however, that the idea of ownership and liability, and ultimately, licensing has to raise it’s head.

A piece of software that is developed by SDN developers and shared under an open source license would likely use SAP Enterprise Services, utilize SAP Data Dictionary elements, call a BAPI or any similar technical facility that is essentially SAP’s intellectual property, and for which SAP requires signature of a software license agreement.

and

SAP has a decade-long history of sharing ABAP code with its customers, so they can modify the system to their requirements. However, that does not make the ABAP code open source; on the contrary, the code is only accessible after agreeing to SAP software license agreements. Those agreements govern what can be done with ABAP source code modifications, and what kind of add-ons can be built on top of SAP functionality. Code Exchange governs only sharing of add-ons, but modifications of ABAP application source code is not covered.

(Both extracts are from Michael Bechauf’s excellent On SDN Code Exchange, Open Source and Free Software.)

Now, I understand that SAP feel the need protect their reputation and the reputation of their products, and that they need to serve their shareholders first. But I was wondering if they had forgotten where it all started… A long time ago, when Dinosaurs ruled the earth, before they were told to go away and die, and the only thing bigger than a Brontosaurus was IBM’s hold on the computing business, people wanted to share code. And so came about the one of the oldest ‘Code Exchange’ programs still active, the IBM mainframe based CBT Tape. Have a look at this extract from the CBT FAQ:

Q. So you are sure the software here is free. I don’t need a license or something?
A. Yes it’s free. No you don’t need license. Some people have trouble understanding why so many great programmers just give away their work to help others. Let my freind Mike explain.

giving it away ? for FREE ????

The CBT Tape is used to share customer written programs and utilities, developed for IBM’s Z/OS (and the earlier equivalents) mainframe operating systems. Note that we aren’t talking about 1960′s version of ‘warez’ or freeware or demonstration programs – this is working code that can be cut-and-pasted, used how you see fit etc. In fact, nowadays, you don’t even need a mainframe to read it. Code Sharing before the airlines stole the phrase.

Mainframe programmers faced similar issues to the ones that we face today:
• a need to find better ways of doing ‘stuff’,
• a need to share the better ‘stuff’ that people were doing,
• vendor code that was open source, but copyright, and
• a potentially litigious vendor with very good lawyers

In reality, all it took was a recognition by everyone involved that
• this code was written by people you didn’t know,
• to solve problems that may or may not mirror yours,
• to run in environments that may or may not mirror yours, and
• that said environment would require IBM licensing.

There was one other concept that made it work, made comfortable for people to use the shared code. The default was Open Source – both free speech and free beer. Of course, as a contributor, you could license your code any way you wanted, but it was then up to you to enforce it. And quite frankly, what would the point be ? The originators of the CBT were taking the (realistic) view that people will copy working code if they can, so there was no point in trying to impose conditions they couldn’t control.

I grew and matured my computing skills in this kind of environment, where cooperation was expected, I have implemented code from the CBT tape, and I continue to follow its philosophy. If I come across an interesting piece of ABAP, Java, shell script or batch file at work, I will return to it to see what I can learn. There’s an old saying that the difference between plagiarism and research is the number of sources you copied from. I make no apology for researching the best code and methodologies for my customers. Its what they pay me to do.

If I do plagiarise, I’ll note where it came from (apart from politeness, it helps to know where to look for help with it), but if I research code, then any errors and omissions are mine and mine alone. Given that I take responsibility for what I publish under my name, then SAP’s new Code Exchange is just another source (pun intended), along with SAP’s own code, and many, many others, for my research.


PS I know that they’re called Apatosaurus now, but when I was a kiddie, the name was Brontosaurus (but if you really want a fight, try telling me Pluto isn’t a planet).

Leave a Reply

blog comments powered by Disqus