Author Topic: IBM DDK License Discussion  (Read 4963 times)

Roderick Klein

  • Sr. Member
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 23
  • Posts: 365
  • Karma: +2/-0
    • View Profile
IBM DDK License Discussion
« on: August 01, 2018, 10:37:33 pm »
Yes, ArcaOS does good job with supporting OS/2 on modern hardware. Though, it is closed. It is even more closed than eComStation. They do copy protection by branding some binaries with user's own name. Neither IBM OS/2, nor eCS did not do such bad things. Newer drivers like DANIS506 or AHCI are linked with closed-source libraries (DRV16, DRV32 etc.), so that they are not fully open source while having been published under GNU GPL. And they now port drivers from FreeBSD, because BSD license allows them to not publish sources.

Well one thing that is easier about ArcaOS and putting in drivers the user data is that you no longer have to deal with license number you have to enter. Having worked (note I no longer work @Mensys) on eCS the license key was not working to bad. But for some people it was a not that easy to enter the 40 or so character registration key in the installer.

As for your statement that 16 and 32 bit driver library is closed source most likely duo to the DDK license.
In this file Drv16-20161010.zip (download here https://88watts.net/software.html) is a readme file:

"The Drv16 Kit is a derivative work of the IBM DDK. You must have a IBM"
DDK license to use this software.
Anyway for the the 32 bit and 16 bit driver they have a library and a presentation on how to write drivers:
http://www.warpstock.eu/images/2015/presentations/David_Azarewicz-WSE2015_Writing_Device_Drivers.pd

Anyway again it might be the age old problem this caused the orginally IBM DDK license.

Why Arca Noae did not provide the source code of certain libraires I do not know.  But I have an idea, you must be aware of what the DDK states about publishing  source code! This is also the reason why UNIAUD16.SYS @Netlabs can not be published publicly, because its covered the DDK license from IBM.

As for your last statement that Arca Noae picked FreeBSD so they do not have to make the source code public.
They had a different reason, a technicall on. When I worked with David Azarewicz at Mensys on eCS the Wireless NIC driver based on Linux sources ended up being dead. Why ? The Linux guys had made such many changes to the sources you could no longer recompile the sources. Aaaah:

https://www.arcanoae.com/roadmap/
"With the aid of the MultiMac framework, Arca Noae already provides support for some Intel, Nvidia, and Realtek chipsets based on Linux drivers. Changes in the Linux driver architecture have made maintaining these drivers and porting new drivers increasingly difficult. As was announced at Warpstock 2014, Arca Noae is working on an alternative new library for porting FreeBSD drivers to OS/2."

Roderick Klein

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 532
  • -Receive: 105
  • Posts: 2861
  • Karma: +5/-0
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: IBM DDK License Discussion
« Reply #1 on: August 01, 2018, 11:01:41 pm »
Hi

When we discuss in public the IBM DDK license I think it is important for people to check the license by them self and point to the "problematic paragraph" that is in incompatible with open source software licensing. 

On the first part of the license, "1. Grant of License for the IBM Code", IBM Code is referred as the device driver sample source code that is included on the package/website, it says.

Quote
In addition, IBM grants to you the non-exclusive, non-assignable, non-transferable right, under the applicable IBM copyrights, to reproduce and distribute, in object code form only, the IBM Code and/or the permitted derivative work thereof, but only in conjunction with and as part of the OS/2 Device Driver and only if you:
- a) do not make any statements to the effect or which imply that the OS/2 Device Driver is "certified" by IBM or that its performance is guaranteed by IBM and
- b) agree to indemnify, hold harmless and defend IBM and its subsidiaries and their suppliers from and against any and all claims, legal proceedings, liabilities, damages, costs and expenses, including attorney's fees, arising out of or in connection with your distribution of the IBM Code and/or the OS/2 Device Driver.

But it does not mean that the derivative work, like a driver someone made, has to be under the same IBM DDK license, it can be freeware, shareware or commercial software, as long as it is in "object code only".  So it looks that is not mandatory for the author to release the "drv16 or drv32 binaries" also under the IBM DDK license, while you agree to the a) and b) conditions of the license.

Will the words "...but only in conjunction with and as part of the OS/2 Device Driver" means that if someone made a driver with the IBM DDK and it just works on ArcaOS or eComStation and not on OS/2 is breaking the license?

Regards
« Last Edit: August 01, 2018, 11:27:34 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 532
  • -Receive: 105
  • Posts: 2861
  • Karma: +5/-0
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: IBM DDK License Discussion
« Reply #2 on: August 01, 2018, 11:14:29 pm »
Why Arca Noae did not provide the source code of certain libraires I do not know.  But I have an idea, you must be aware of what the DDK states about publishing  source code! This is also the reason why UNIAUD16.SYS @Netlabs can not be published publicly, because its covered the DDK license from IBM.

I think I found a satisfactory solution for that problem.

Netlabs holds a close source repository for the Lar's USB driver driver for example. The repository is not open to the public, but since Netlabs is a collaborative organization, anybody that wants to collaborate on driver development can agree to the IBM DDK license and to any collaborative rules that Netlabs may have to develop it. It just like having a company agreeing to the IBM DDK and having their employees to work on a driver and the changes of the code will remain as company's property.

Any driver made with the IBM DDK can be turn into a "close source but collaborative project" under the umbrella of a collaborative organization like Netlabs. So, if you want to share your device driver development that came from IBM DDK you can do it, the IBM DDK license is not an excuse to not made a collaborative project.

So, everybody can donate their IBM DDK based driver source code changes to Netlabs for example. Arca Noae can do that if they want to.

Regards
« Last Edit: August 01, 2018, 11:28:40 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Valery Sedletski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 25
  • Posts: 357
  • Karma: +0/-0
    • View Profile
Re: IBM DDK License Discussion
« Reply #3 on: August 01, 2018, 11:39:28 pm »
2Roderick Klein:

> Well one thing that is easier about ArcaOS and putting in drivers the user data is that you no longer have to deal with license number you have to enter. Having worked (note I no longer work @Mensys) on eCS the license key was not working to bad. But for some people it was a not that easy to enter the 40 or so character registration key in the installer.

eCS license key can be picked up from the hard disk or flash stick, so you never need to enter it manually. Branding the user name in some binaries is needed solely for copy protection. Also, it seems that user name is encrypted. So, this is obviously not for the purpose of making user's life easy. It's needed because user will be shy to share his drivers with anybody else, because copy owner's name is can be seen easily during the boot.

> As for your statement that 16 and 32 bit driver library is closed source most likely duo to the DDK license.
In this file Drv16-20161010.zip (download here https://88watts.net/software.html) is a readme file:

> "The Drv16 Kit is a derivative work of the IBM DDK. You must have a IBM"
DDK license to use this software.
Anyway for the the 32 bit and 16 bit driver they have a library and a presentation on how to write drivers:
http://www.warpstock.eu/images/2015/presentations/David_Azarewicz-WSE2015_Writing_Device_Drivers.pd

> Anyway again it might be the age old problem this caused the orginally IBM DDK license.

DRV16 and DRV32 are _closed_source_. DANIS506 and AHCI are licensed as GPL/LGPL, so they cannot be combined with closed source parts. All modifications to GPL code should be published in source form. DDK license does not mean that the source code should be closed. IBM published DDK for developer's convenience. DDK license does not contain any restrictions. Moreover, IBM didn't put any license into DDK. So, it is published "as is", but without any restrictions. Yes, no license was put into DDK. There are some copyright notices in headers/sources, but IBM simply forgot to put a license there.

> As for your last statement that Arca Noae picked FreeBSD so they do not have to make the source code public.
They had a different reason, a technicall on. When I worked with David Azarewicz at Mensys on eCS the Wireless NIC driver based on Linux sources ended up being dead. Why ? The Linux guys had made such many changes to the sources you could no longer recompile the sources.

Yes, Linux driver sources change continuously together with Linux kernel version. They make changes into kernel interfaces constantly. So, e.g., UNIAUD32 sources must adapt to each Linux kernel version constantly. FreeBSD has much stable kernel interfaces. This is one of the reasons, but not the main one. The main reason is that BSD license allows to not publish the sources. This allows to make the OS/2 community dependent from them.


Valery Sedletski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 25
  • Posts: 357
  • Karma: +0/-0
    • View Profile
Re: IBM DDK License Discussion
« Reply #4 on: August 01, 2018, 11:47:12 pm »
2Martin Iturbide: Where did you took this https://www.os2world.com/wiki/index.php/IBM_OS/2_Products_Licensing_Analysis#IBM_Device_Driver_Kit_-_2004 DDK license text? I mean, which file in the source tree it is? I cannot find it in my DDK distribution. As far as I know, IBM did not put any license into the DDK, only short copyright notices in some headers/sources.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 532
  • -Receive: 105
  • Posts: 2861
  • Karma: +5/-0
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: IBM DDK License Discussion
« Reply #5 on: August 01, 2018, 11:59:39 pm »
Hi Valery

Can you please elaborate this?
DDK license does not mean that the source code should be closed. IBM published DDK for developer's convenience. DDK license does not contain any restrictions. Moreover, IBM didn't put any license into DDK. So, it is published "as is", but without any restrictions. Yes, no license was put into DDK. There are some copyright notices in headers/sources, but IBM simply forgot to put a license there.

In my knowledge the IBM Device Driver Kit (IBM DDK), on the versions I was able to find, was governed under this license.  There are also the sample source code on the IBM toolkit that is "AS IS" but it was not device driver samples. I was not able to find the source of any packaging of the IBM device driver source samples that are under a different license of use for the moment.

I'm still trying to find the older versions IBM Device Driver Kit CDs and to check which license do they have.  I want to see if we can find IBM device source code samples that are compatible with open source licensing even if they are older than Warp 3. Help is always welcome.

For the moment the solution of a "close source but collaborative project" is the only thing that I find satisfactory with the information that I have and based on a ground where we want to respect copyrights to don't have legal problems.

Regards

Martin Iturbide
OS2World NewsMaster
... just share the dream.

Valery Sedletski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 25
  • Posts: 357
  • Karma: +0/-0
    • View Profile
Re: IBM DDK License Discussion
« Reply #6 on: August 02, 2018, 12:10:05 am »
2Martin Iturbide:

I mean that DDK copy I have does not have any license put into it. I asked you to point me, where the above license text is taken from? You don't seem to know that. Maybe, someone will point me to a DDK copy (on archive.org, or elsewhere) having such a license together with the distribution? I have a copy from about 2004/2006, and this copy does not have any license. So, I need to have any proof that the above license text is supplied with some DDK version.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 532
  • -Receive: 105
  • Posts: 2861
  • Karma: +5/-0
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: IBM DDK License Discussion
« Reply #7 on: August 02, 2018, 12:25:34 am »
Hi Valery

The source code may not have a license on the headers, but the IBM DDK package that I know was governed by the license that I'm showing, and it was located at some HTML page that you need to agree to go the drivers. I had validated that in two places.
1) The IBM DDK CD from 2004. It has an HTML index page where you need to agree to that license to go to the files.
2) The registration on the free IBM DDK Website (IBM Developer Connection Device Driver Kit
for OS/2 - 1998
). When you accessed the source code you need to agreed to that license.

There was also the "IBM Developer Connection Device Driver Kit for OS/2", which I don't have a CD of it, that also was governed to the IBM DDK license according to the EDM/2.

Before the "IBM Developer Connection Device Driver Kit for OS/2" there was the "Device Driver Source Kit for OS/2" (1993-1995) , which I'm trying to find a copy to check the license it includes.

Regards
« Last Edit: August 02, 2018, 12:34:13 am by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Valery Sedletski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 25
  • Posts: 357
  • Karma: +0/-0
    • View Profile
Re: IBM DDK License Discussion
« Reply #8 on: August 02, 2018, 12:56:45 am »
2Martin Iturbide:

OK, I see. I did not looked into HTML files, I searched inside .ZIP's and found nothing.

Rich Walsh

  • Full Member
  • ***
  • Thank You
  • -Given: 1
  • -Receive: 13
  • Posts: 131
  • Karma: +1/-0
  • ONU! (OS/2 is NOT Unix!)
    • View Profile
Re: IBM DDK License Discussion
« Reply #9 on: August 02, 2018, 05:03:54 am »
What nobody ever seems to notice is the line I've emphasized in this section :
Quote
4. Non-Disclosure

You expressly undertake to retain in trust and confidence all information and know-how transmitted to you by IBM that IBM has identified as proprietary or confidential or that by the nature of the circumstances surrounding the disclosure ought in good faith to be treated as proprietary or confidential, (including, but not limited to, source code) and you agree that you will make no use of such information and know-how except under the terms of this agreement. You are required to execute appropriate written agreements with your employees, consultants and distributors sufficient to enable you to comply with all provisions of this agreement. The above non-disclosure provisions shall terminate when the confidential information or source code becomes publicly available through no fault of yours or for a period of 10 years from disclosure. In addition, you agree to maintain adequate procedures to prevent loss of any materials contained in the Product. You agree to notify IBM of any such loss immediately.

The "or" in that sentence makes it difficult to really understand what they are saying. However, it sure seems like the requirement to keep IBM's code confidential becomes null and void if it becomes common knowledge. Given that copies of the DDK have been freely available on the net for years (and thus, "disclosed"), it's hard to see how any of these licensing strictures still apply.

If I were a direct licensee of IBM like Arca Noae, I wouldn't want to test this interpretation. However, a 3rd-party with no direct connection to IBM should probably feel free to do whatever he wishes with his DDK-based code, including making it open-source.

Greg Pringle

  • Full Member
  • ***
  • Thank You
  • -Given: 6
  • -Receive: 2
  • Posts: 121
  • Karma: +0/-0
    • View Profile
Re: IBM DDK License Discussion
« Reply #10 on: August 02, 2018, 03:03:31 pm »
The whole "license" issue from IBM is a mess.

I used to have a developer connection to IBM. There were no restrictions put on any of my code. Explicitly I could use the IBM libraries to develop for any OS/2 system. At no time did IBM own the code being developed by me. Only the acquistion of the developer libraries were restricted. Later, many of the same IBM libraries were openly distributed. So, what could possibly be the meaning of a non-disclosure.

IBM already "disclosed" the software when it was made available to the public.
If there is any restriction it could be that IBM retains the distribution rights to the libraries and the libraries source. If that is true then supplying the libraries to others or de-compiling them would be restricted.

The DDK was put on public boards by IBM at the end of OS/2, not just programmer boards.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 532
  • -Receive: 105
  • Posts: 2861
  • Karma: +5/-0
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: IBM DDK License Discussion
« Reply #11 on: August 02, 2018, 03:18:33 pm »
Hi Greg

I used to have a developer connection to IBM. There were no restrictions put on any of my code. Explicitly I could use the IBM libraries to develop for any OS/2 system. At no time did IBM own the code being developed by me. Only the acquistion of the developer libraries were restricted. Later, many of the same IBM libraries were openly distributed. So, what could possibly be the meaning of a non-disclosure.

If you have any older Developer Connection CD please let me know. I want to check the license of it. The changed to the IBM Code and the device driver samples are always yours for what I understand. If we find some of the device driver samples (IBM Code) under an older license distribution, that may be similar  to the IBM Toolkit license, it will be compatible with open source and it will be a base to build drivers from there, even if those are older versions.

I guess that the libraries and tool (binaries) of the IBM DDK package will be close source but at least at some point of time those were provided as freeware by IBM (Evidence).

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Greg Pringle

  • Full Member
  • ***
  • Thank You
  • -Given: 6
  • -Receive: 2
  • Posts: 121
  • Karma: +0/-0
    • View Profile
Re: IBM DDK License Discussion
« Reply #12 on: August 02, 2018, 07:41:45 pm »
I don't remember having the CD with the DDK.
I had a login to the Developer Connection website and would download the items allowed.
A copy of the DDK from 2003 is the first I have found and it has a section under:
useddk->Notices->Disclaimers
which in effect says to call IBM if you are writting programs and want to know if there is a fee.

Roderick Klein

  • Sr. Member
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 23
  • Posts: 365
  • Karma: +2/-0
    • View Profile
Re: IBM DDK License Discussion
« Reply #13 on: August 02, 2018, 09:20:25 pm »
Hi Greg

I used to have a developer connection to IBM. There were no restrictions put on any of my code. Explicitly I could use the IBM libraries to develop for any OS/2 system. At no time did IBM own the code being developed by me. Only the acquistion of the developer libraries were restricted. Later, many of the same IBM libraries were openly distributed. So, what could possibly be the meaning of a non-disclosure.

If you have any older Developer Connection CD please let me know. I want to check the license of it. The changed to the IBM Code and the device driver samples are always yours for what I understand. If we find some of the device driver samples (IBM Code) under an older license distribution, that may be similar  to the IBM Toolkit license, it will be compatible with open source and it will be a base to build drivers from there, even if those are older versions.

I guess that the libraries and tool (binaries) of the IBM DDK package will be close source but at least at some point of time those were provided as freeware by IBM (Evidence).

Regards

I lost the license agreement I once printed I think it was somewhere around the year 2000 when the DUDE from IBM was still open. You could also register free of charge to get the DDK. However you did need to agree to the standard DDK license which has always seem to have the had same limitations in terms of making any source code public.

Roderick

Andy Willis

  • Full Member
  • ***
  • Thank You
  • -Given: 0
  • -Receive: 11
  • Posts: 218
  • Karma: +0/-0
    • View Profile
Re: IBM DDK License Discussion
« Reply #14 on: August 03, 2018, 07:39:16 am »
2Martin Iturbide:

OK, I see. I did not looked into HTML files, I searched inside .ZIP's and found nothing.

Back when I got my copy of the DDK, you had to click on the I Agree to gain access to the DDK itself but as far as I could find the license was not in the distribution that I downloaded from IBM.  The page in the HTML directory of the 2004 CD was taken directly from the page you would have to go to to gain access to the DDK, down to having the buttons at the bottom for agree or disagree.