Author Topic: Open Source / 2  (Read 5997 times)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 243
  • -Receive: 46
  • Posts: 1638
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Open Source / 2
« Reply #15 on: March 17, 2016, 01:52:56 pm »
Hi

There are also some open source projects that I consider that should be taken notice when trying to produce OS/2 clone alternatives.
If I'm based on the OS/2 components architecture I think it is good to see the source code of this projects and check what can it be re-used.

- OS/2 Kernel:
* OS2Ldr - OS/2 Loader, there are some articles and samples on how to create an clone loader.

- CPI - Control Program Interface.
* OS2Linux - has some functions available
* OSFree - OSFree Project generated some of the forwarder's DLLs of this component.

- Presentation Manager
* OSFree - OSFree grabbed things from FreePM.

- SOM
* somFree - It was not created or ported to OS/2.
* NOM - Was a SOM replacement project created by Netlabs.

- Workplace Shell
* XWorkplace - Some WPS classes replacement and improvements.
* Several open source WPS Classes.

There are some other projects that are not open source, but has the source code available:
- OS/2 Kernel:
* QSInit - OS/2 Loader - Source code available - Free for Non commercial use.
* SCREEN01.SYS, PRINT01.SYS, KBDBASE.SYS, CLOCK01.SYS, RESOURCE.SYS - Source code is on the IBM DDK, but the source code can not be shared (only privately improved). Binaries can be freeware for any use.

But remember that some of this are only "half-baked" projects and was not completed.  This are the ones that came to my mind right now, there my be other out there.

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

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: Open Source / 2
« Reply #16 on: March 17, 2016, 04:05:03 pm »
I'm not a developer so I have limited skills on this area. My way of thinking about the continuity of OS/2 in the long term future is to try to grab little things from OS/2 and clone them as open source and test that it keep working on the OS/2 platform (trying not to break compatibility). I think that sometimes planning super big projects (without having high budgets) produce too much stress and people just dump out the idea because the lack of short term deliverable. So, I prefer when people do little things, even if the first version is not stable enough. But that little things can be added up to other things to produce a bigger things, and with time even bad open source code can be improved.

I wish you luck with your project and I'm here to help on whatever is on my hands.

I appreciate that.  I've had high hopes on the last two projects I've worked on that some developers would come and help out.  It didn't happen on the first project, but on the second I had two developers contribute source code:  http://www.visual-freepro.org/wiki/index.php/VXB#Contributions

That project is an XBASE tool called Visual FreePro, Jr. (VJr), that is designed to be a nearly 100% compatible open alternative to Visual FoxPro.  I'm to the point in development on it where I need to complete the compiler.  I had previously planned to work on it this year and complete it, but there just isn't interest in the project right now, and no help.  I had planned to complete VJr by mid-2017 and resume development on my OS then.  However, I've revised that plan to get my kernel up and running and then complete development of VJr inside my kernel to give it a nice developer base for making business apps.

The kernel has been a long-time goal for me.  I began it when I was about 25 years old.  I'm now 46 years old and am resuming full-time (after my normal day job that is) development on it.  I'll try to get my developer toolsets completed this year, and have the kernel able to boot and launch and run apps using the basic video drivers in the emulation environment.

I may not post much here once I get deep into development.  Compiler development is particularly tricky, but I won't be worrying about optimization in the first release, so that will make it somewhat easier.  And, because it is my own kernel design, I will have free reign over what gets added and where.

I'd like to expose a fully compatible API with OS/2's kernel, allowing it ultimately to be a literal drop-in replacement, but unless I get some documentation that won't be possible because I refuse to reverse-engineer the kernel design since it's illegal to do so.

I've written an email to Scott Garfinkle at IBM.  No reply yet.  We'll see if anything comes from there.

As for now, my plans are to create a very OS/2-like system, with many of the same features, but it will be a new kernel, and a new system, new drivers, etc., and atop that I will expose an identical API to the published API, along with some extensions, allowing for existing code that relies upon many OS/2 features to be recompiled and work in ES/2 and AS/2.

And, I'm hoping other developers will come on board later this year when the toolset is maturing, or at least next year when some real progress is being shown.  These are my plans, but I keep them within the constraint of James 4:15 (Lord willing).  :)

Best regards,
Rick C. Hodgin

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: Open Source / 2
« Reply #17 on: March 17, 2016, 04:07:48 pm »
Hi

There are also some open source projects that I consider that should be taken notice when trying to produce OS/2 clone alternatives.
If I'm based on the OS/2 components architecture I think it is good to see the source code of this projects and check what can it be re-used.

- OS/2 Kernel:
* OS2Ldr - OS/2 Loader, there are some articles and samples on how to create an clone loader.

- CPI - Control Program Interface.
* OS2Linux - has some functions available
* OSFree - OSFree Project generated some of the forwarder's DLLs of this component.

- Presentation Manager
* OSFree - OSFree grabbed things from FreePM.

- SOM
* somFree - It was not created or ported to OS/2.
* NOM - Was a SOM replacement project created by Netlabs.

- Workplace Shell
* XWorkplace - Some WPS classes replacement and improvements.
* Several open source WPS Classes.

There are some other projects that are not open source, but has the source code available:
- OS/2 Kernel:
* QSInit - OS/2 Loader - Source code available - Free for Non commercial use.
* SCREEN01.SYS, PRINT01.SYS, KBDBASE.SYS, CLOCK01.SYS, RESOURCE.SYS - Source code is on the IBM DDK, but the source code can not be shared (only privately improved). Binaries can be freeware for any use.

But remember that some of this are only "half-baked" projects and was not completed.  This are the ones that came to my mind right now, there my be other out there.

Excellent.  Thank you, Martin.  I was able to locate a copy of the IBM DDK from 2004.  I've had a preliminary look and it is an amazing treasure trove of information.  It should provide a solid map to the API.

Best regards,
Rick C. Hodgin
« Last Edit: March 17, 2016, 06:22:27 pm by Rick C. Hodgin »

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: Open Source / 2
« Reply #18 on: April 01, 2016, 02:03:48 am »
With Martin's guidance, I have been able to find everything necessary to handle the kernel development, and API replication, so that the system I'm creating is as compatible with OS/2 as I'll be able to make it.

OS/2 4.5 Toolkit Documents

Best regards,
Rick C. Hodgin

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: Open Source / 2
« Reply #19 on: April 01, 2016, 03:09:15 pm »
With Martin's guidance, I have been able to find everything necessary to handle the kernel development, and API replication, so that the system I'm creating is as compatible with OS/2 as I'll be able to make it.

OS/2 4.5 Toolkit Documents

In reviewing this material, I have come to realize that there is a large portion of the system design that really isn't relevant any longer in 2016 and beyond.  In addition, there are some disruptive technologies due out in the middle of this year (namely Intel's 3D XPoint memory, which is a non-volatile memory 1000x faster than NAND, 10x more dense than DRAM, and has the ability to change the way operating systems are designed, and operate).

As such, I will be migrating my efforts to what I'm going to call Exodus OS/3, which will be basically OS/2 with the DOS and Windows portions stripped out, and some new extensions added which allow use of 3D graphics devices to provide a type of node-based connection mechanism between drivers and applications, rather than through config file settings (see Blender 3D software and specifically Blender's node editor for what I'm thinking about -- it won't be quite like that, but similar in that you hook things up using the lines/noodles which go between (see a YouTube video example here), so imagine being able to route your digital sound to audio devices by simply plugging them in, or to be able to direct your printer driver to the network so it now exposes it as a device available on an OS/3 network, etc.).

I am also open to hearing input on what should be done.  Eventually I would like for Exodus OS/3 to support a virtual machine allowing for guest OSes as well, including a full version of OS/2 4.52 as it exists today.

Best regards,
Rick C. Hodgin