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

Jan-Erik Lärka

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 275
  • Karma: +5/-0
    • View Profile
Open Source / 2
« on: July 07, 2015, 01:31:14 pm »
Hello,

the open source movement is strong and we that use OS/2 and eComStation benefit from several projects that originate or build on open source projects. Martin has done a great job to open source software and collecting sources.

What's the plan and how do we make best use of the source code?! Source code doesn't compile itself, someone has to do it and get a project afloat?

Regards,
//Jan-Erik

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: Open Source / 2
« Reply #1 on: July 07, 2015, 04:27:04 pm »

What's the plan and how do we make best use of the source code?! Source code doesn't compile itself, someone has to do it and get a project afloat?


Basically with open source, volunteers do what ever interests them (and occasionally what they get paid to do). For example a long time ago I wanted to play an open source game, so I downloaded the source code and the EMX development environment and learned how to compile it. Been learning ever since and still compile stuff such as this SeaMonkey I'm posting this on and when things go good, share the results with the community.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4713
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Open Source / 2
« Reply #2 on: July 07, 2015, 04:33:12 pm »
Hi Jan.

It is good that you bring up the subject. I will like to bring my personal comments based on the "open source" perspective, which it does not mean it is good or bad, it is just a perspective looked from that side.

I think that is some part we are in a good track. It is very good the job that are doing some guys to keep porting things that use Libc and Qt and the stuff that is doing Bitwise. While we get ported more open source libraries, software dev tools and applications, it will be better for us. 

My first issue is that there are people that do not understand the open source model. Open source is not a magic formula, it a development methodology and software licensing, that will help us to 1)Reduce the risk of having dependencies on a single person or group, 2) Will allow us grow our user base eventually. There are people that thinks that the only and most important resource is money, and no matter how much money you put on OS/2, people will not look at this platform if it is controlled by a single company or individual because you have several alternatives on the market that are 100% independent and open source. This is why to get more people into this platform we need to say convinced that "we are trying to be open source, and this is our roadmap for the next 20 years".

On the side that we are not good, and I got a lot of heat when I discuss about this subject, is the things that are under the hood. The close source components of OS/2 that nobody wants to even think about it, because they are working fine today, and those are the things that are limiting the freedom of the platform. There seems that there are no much interest on the OS/2 internal components today, and there is no constructive discussion about how to clone/replace/improve this components focused on open source.  When I try to get a constructive discussion, I don't get ideas on how to do it or different ways to approach this problem, just excuses on how hard it is.

The other part that is not doing good is that there is not effort on open source drivers. The efforts are focused on using IBM DDK code which can not be open sourced, because it is easier and fast to use the IBM DDK to create drivers. There was even discussion on the chat rooms and Warpstock telling to port BSD drivers to mix it with IBM DDK, so it will remain close source. (The BSD license allows it).  Maybe it is practical to use IBM DDK code but it will only lock us in the future to the developer, it will be better to release open source drivers and try to isolate as much as possible the IBM DDK code.

So, quick summary of my open source issues:

1) There are important community members that are not convinced yet on the value of open source, they just believe that if it works (open or close) it is good enough.
2) There is a lack of interest on the OS/2 internal components that has to change, people just gives the OS/2 base components for granted and there should be more interest on getting open source alternatives to work on OS/2.
3) There is no current effort on open source drivers, there is only focus on making drivers based on IBM DDK code.

If I will like "dare" to put a priority on this subject right now (Since we already have Arca working on drivers and Bitwise working on Firefox) , it will be to start thinking about an open source clone for Presentation Manager. I even wrote this, which may be a stupid, but the idea will be to have some discussion on this topic: http://www.os2world.com/wiki/index.php/Wild_Idea:_A_PM_clone_using_the_Qt_library

If anybody has interest on discussing this in a constructive matter (instead of giving excuses on why we should not even try to start)  maybe we should try to open a new thread.

Regards





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

Mentore

  • Full Member
  • ***
  • Posts: 152
  • Karma: +4/-0
    • View Profile
Re: Open Source / 2
« Reply #3 on: July 07, 2015, 11:11:28 pm »

What's the plan and how do we make best use of the source code?! Source code doesn't compile itself, someone has to do it and get a project afloat?


Basically with open source, volunteers do what ever interests them (and occasionally what they get paid to do). For example a long time ago I wanted to play an open source game, so I downloaded the source code and the EMX development environment and learned how to compile it. Been learning ever since and still compile stuff such as this SeaMonkey I'm posting this on and when things go good, share the results with the community.

I completely second the views of Dave. I too am involved in porting efforts for some of my little personal passions like 8-bit (mostly Sinclair computers) emulators, but I'm also interested in music typesetting and others (actually I'm struggling to understand Cmake because it's needed by GUIDOlib and other Qt software to compile).

Jan-Erik Lärka

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 275
  • Karma: +5/-0
    • View Profile
Re: Open Source / 2
« Reply #4 on: July 08, 2015, 02:18:51 pm »
Very good points!

The important thing to come up with is how Open Source / 2 should attract enough developers and users so the large crowd of people will be attracted and come our way later on. There has to be more to Open Source / 2 and a long term plan to attract enough attention. Nothing should be left to coincidence.
Open Source / 2 can be based on substantial ideas and methods that we improve and not force one opinion or the other. Some should be able to work on it as spare time projects, some in full time and others everything in between.

What attract the developers? What can the OS/2 community attract them with?
Why would a developer choose to join the OS/2 community?

The proper answer to that is important if Open Source / 2 should play an important part.

Regards,
//Jan-Erik

dbanet

  • Guest
Re: Open Source / 2
« Reply #5 on: July 14, 2015, 05:03:27 pm »
(actually I'm struggling to understand Cmake because it's needed by GUIDOlib and other Qt software to compile)

I probably can help you with CMake and Qt, as I'm using the former as a build system for OS/2 applications using the latter quite successfully, if you reach me.

If I will like "dare" to put a priority on this subject right now (Since we already have Arca working on drivers and Bitwise working on Firefox) , it will be to start thinking about an open source clone for Presentation Manager. I even wrote this, which may be a stupid, but the idea will be to have some discussion on this topic: http://www.os2world.com/wiki/index.php/Wild_Idea:_A_PM_clone_using_the_Qt_library

If anybody has interest on discussing this in a constructive matter (instead of giving excuses on why we should not even try to start)  maybe we should try to open a new thread.

Maybe you are not aware of it, but there is FreePM project aiming at rewriting Presentation Manager under an OSS license with very, very good thoughts about its architecture.

I've once (or twice) even thought of looking at it, but now am quite busy with another thingie...

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4713
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Open Source / 2
« Reply #6 on: July 14, 2015, 05:42:13 pm »

Maybe you are not aware of it, but there is FreePM project aiming at rewriting Presentation Manager under an OSS license with very, very good thoughts about its architecture.

Yes, I know about FreePM. My issue is that I don't have the skill to know if FreePM is a 5%, 20% or 80% clone of PM.
I need someone that starts building FreePM and check ways to put it inside of OS2-eCS  and replace some of the PM IBM close source files/components.  Even if it is only a partial PM Clone that still requires IBM's PMMERGE,  I want to find ways to have FreePM to replace parts PM on OS/2-eCS.  I will like to help and collaborate with  somebody willing to do this.

I have no idea to be honest, but something like having a PMMERGE.DLL OSS replacement that keeps calling IBM PMMERGE.DLL (Maybe renamed to PMMERGEX.DLL) in the back. So the functions that are replaced are responded by the OSS PMMERGE.DLL, and the ones that not cloned are sent to IBM's PMMERGEX.DLL which is the original one.  With that we can keep growing the OSS PMMERGE.DLL until we can just remove complete IBM's PMMERGEX.DLL. It may sounds very stupid to someone that know how DLLs works, but I want to see alternatives to keep replacing PM, even if they are timid or very small.

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

Pete

  • Hero Member
  • *****
  • Posts: 1281
  • Karma: +9/-0
    • View Profile
Re: Open Source / 2
« Reply #7 on: March 02, 2016, 05:57:16 pm »
Hi All

Looking through the newsgroups comp.os.os2.apps and comp.os.os2.misc I noticed a post with the subject Creating an open source OS/2 kernel.

Looks like the poster has big plans that could become an open source OS/2 - with a bit of help.

Maybe Martin wants to have a look into this - along with anyone else interested.


Regards

Pete



Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4713
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Open Source / 2
« Reply #8 on: March 02, 2016, 08:12:02 pm »
Thanks for the heads up.

It seems that there are people sending "Cease and desist" letters on the forums without even starting to break the law :)

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

Olafur Gunnlaugsson

  • Full Member
  • ***
  • Posts: 244
  • Karma: +5/-0
    • View Profile
Re: Open Source / 2
« Reply #9 on: March 03, 2016, 05:00:53 am »
but something like having a PMMERGE.DLL OSS replacement that keeps calling IBM PMMERGE.DLL (Maybe renamed to PMMERGEX.DLL) in the back. So the functions that are replaced are responded by the OSS PMMERGE.DLL, and the ones that not cloned are sent to IBM's PMMERGEX.DLL which is the original one.  With that we can keep growing the OSS PMMERGE.DLL until we can just remove complete IBM's PMMERGEX.DLL.

I know the quoted  post is older than the current thread, but

While I think the whole idea of replacing the system with something identical is brain dead in general (now wait for last year type scenario), but if you want to replace the PMMERGE.DLL you have an easier starting point in replacing the dummy DLL's that point to PMMERGE one by one with active one and then tackling either PMMERGE later or replacing it with other DLL's, PMMERGE is one huge file to speed up performance on 386 system, on a modern system the speed difference will be negligible

This will get rid of the danger of cross referencing of a un-replaced DLL function with replaced DLL function which could easily happen the other way around.

But if people are interested in replacing system components, why not start with something that would give us greater capabilities such as replacing SVGA.SYS with something that supports modern resolutions ....

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4713
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Open Source / 2
« Reply #10 on: March 03, 2016, 10:00:43 pm »
....but if you want to replace the PMMERGE.DLL you have an easier starting point in replacing the dummy DLL's that point to PMMERGE one by one

Here it is the list of files that (I consider) are part of Presentation Manager. Starting with the forwarder files can be a good idea.

But if people are interested in replacing system components, why not start with something that would give us greater capabilities such as replacing SVGA.SYS with something that supports modern resolutions ....

Every OSS replacement is welcome. I will support any developer going on that direcction.

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

RickCHodgin

  • Guest
Re: Open Source / 2
« Reply #11 on: March 16, 2016, 09:27:47 pm »
Hello all.  My name is Rick C. Hodgin.  I'm a software developer from Indianapolis, IN, USA.  I began working on my own kernel back in the mid-90s, and worked extensively on it from 1998-2002.  It boots, has full support for everything internally except paging (by design).  I got married in 2002 and my priorities changed.  However, I've always maintained plans to come back to it and complete it.

As of earlier this year I have resolved to do that with a full-throttle effort.  My family is on board with the project, and in the mean-time I've developed a host of other applications which will now benefit me greatly in moving forward.

I wanted to outline some of my plans for my kernel:

Originally I had planned to create my own custom beast.  I have a very solid mental image of what I want in a system design, and I will still in many ways target that end.  However, in reviewing operating systems a few weeks ago I came back across OS/2.  I had used OS/2 back in the 90s, but I was not aware of its amazing system design and robust capabilities until I came across some OS/2 videos (on OS/2 2.1 of all things).  As soon as I saw those features, namely the object-oriented design of the worksplace shell and the ability to close and resume tasks exactly where they were when the system went down, I resolved to incorporate those fundamental abilities into my OS.

As such, my previous kernel (called Exodus) has now had its goals revamped somewhat and will be called ExoduS/2, or ES/2 for short. I also plan to port the kernel to ARM-based CPUs, and will call it ArmoduS/2, or AS/2 for short.

My goals for development are vast.  I would like for other coders to come on board to help where they could once the system is to a particular level of development.  I believe together we could create a really amazing alternative to OS/2, which is very much OS/2-like in its operation, including supporting most of its API, the presentation manager, file system format, and more.

Here are my goals.  I will do my best to achieve them:

-----
Mar.01.2016 - Dec.31.2016
Complete low-level kernel development toolset, which includes a full edit-and-continue toolchain for real-time re-compilation and debugging while running in the kernel itself.

By Dec.31.2016 it should be booting in the new toolset, able to be debugged and developed in source-code form as we're going.

-----
Jan.01.2017 - Dec.31.2017
Support paging in the kernel, add necessary drivers, develop and complete the workplace shell clone, presentation manager clone, and port the kernel developer toolset to a full edit-and-continue developer suite occupying all of the kernel, driver, and user app spaces.

Work on the port of ES/2 to ArmoduS/2 should begin somewhere during this timeframe as well.

-----
Jan.01.2017 - Dec.31.2018
Port or re-write as many system utilities and applications as possible to the kernel design, expanding the kernel abilities as needed.

This brings us to sometime in 2018 to 2019 when the system should be in a stable and usable state, able to be expanded on by the full community effort as more and more apps are ported.

At this time I would like to the necessary support to allow other developers to port whatever toolsets they'd like to use to ES/2 and AS/2, and to be at the community's call for what large goals should be worked on next.

My primary goals are to get the kernel working, in an easy development state, stable, robust, and to be able to build everything atop that solid bedrock foundation.

-----
The current state of my kernel can be seen here in source code:
https://github.com/RickCHodgin/libsf/tree/master/exodus/source

And here in a video outlining my monochrome graphical debugger, called Debi (for DEBug Intel, I plan to create a version called Debra for DEBug ARm):
http://www.visual-freepro.org/videos/2014_02_13__exodus_debi_debugger.ogv

Note:
If you can't view the video, use VLC (http://www.videolan.org).

-----
Please note also that I am a devout Christian.  But, don't let that derail your support.  It just means I have much love for you inside. :-)  I'm good people, and while I am giving this offering back to the Lord using the skills, talents, and abilities He first gave me, I am also giving it to the people He's placed me around here in this world.

This type of giving, one-to-another, using the skills we've been blessed with, it's something that strengthens and binds us together as a common people group interested in our common, shared thing (in this case an OS/2 operating system).  That binding together helps us grow with affinity toward one another because of the shared foundation.  It builds a solid base from which all other things can proceed.  In my experience, it's very rewarding.

If you'd like, you can reach me at my name below all squished together with periods (like.a.here) at gmail.

Best regards,
Rick C. Hodgin

ivan

  • Hero Member
  • *****
  • Posts: 1558
  • Karma: +17/-0
    • View Profile
Re: Open Source / 2
« Reply #12 on: March 17, 2016, 12:21:46 am »
Hi Rick,

I am pleased that you found your way here.  You will find some of the same people you met in the newsgroups and some new people as well.

RickCHodgin

  • Guest
Re: Open Source / 2
« Reply #13 on: March 17, 2016, 01:04:12 pm »
Hi Rick,

I am pleased that you found your way here.  You will find some of the same people you met in the newsgroups and some new people as well.

Thanks, Ivan.  Martin Iturbide has been a big help as a guide.

Best regards,
Rick C. Hodgin

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4713
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Open Source / 2
« Reply #14 on: March 17, 2016, 01:33:55 pm »
Hi Rick.

Welcome to the OS2World forums.

My interest is to promote any open source software project that will benefit the OS/2-eCS community.
There may not be funding, but we do as possible to try to organize the OS/2-eCS resourced and make them public for the benefit of the community. If you have interest on knowing something about the platform just post the question on the forums, it happens from time to time that there are is not a direct answer but sometimes the collaborative thinking allow us to find workarounds.

We tried to document as much as possible on the EDM/2 wiki, that site remains as the most important site for development knowledge on this platform. Other kind of OS/2 knowledge I'm trying to document it on the OS2World Wiki.

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.

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