viernes, 30 de agosto de 2013

OS/2 and eComStation Open Source Software Catalog / Repository

For the moment there are 334 public repositories of OS/2 and eComStation open source related projects on Git Hub. In total there are like 650MB in source code, bitmaps and scripts related to this platform.

You can visit them at: https://github.com/OS2World

I always wanted to have a complete list of open source (and just source code) software under OS/2 and eComStation. But I realize that I can do a little more by putting the source code online in a more friendly way. That's why I upload them to GitHub.

I started to check on hobbes which files contained the source code of the binaries and tried to list them and include on GitHub the information about the author and the license that the source code was released.

The idea is for everyone to be able to check the source code of big and also simple projects, in several programming languages and several styles to allow anyone interested in this platform to take their first steps into development or creating derivative works based in this source code.

You can fork the repositories and try to "hack" yourself into the code without any worries or breaking anything. Github gives freedom on the source code you can store and in the quantity of forks you can do.

If anybody wants administration rights to any repository, or want to help me uploading more source to github or have any other suggestion just write me to martin@os2world.com

I had tried to use as much as possible the hobbes structure and I finished searching software on the "/pub/os2/util" directory. I will keep working on APPS and GAMES this year.

The only strange thing is "CMD-Scripts" which is where I had include the stand alone Rexx scripts in a single repository.

This is a list of the source code I had included:

  • APP-ANALISYS-MacAnova
  • APP-CALC-Table
  • APP-CDRECORD-Audio-Data_CD_Creator
  • APP-CLOCK-Clock
  • APP-CLOCK-Dcf
  • APP-CLOCK-DeskClock
  • APP-CLOCK-glclock
  • APP-CLOCK-Yes-Its-a-Clock
  • APP-COM-ComScope
  • APP-COMM-Capitel
  • APP-COMM-FleetStreet
  • APP-COMM-Multimail
  • APP-DATABASE-Datapad
  • APP-EDITOR-AE
  • APP-GRAPHICS-Cameraderie
  • APP-GRAPHICS-D70Reader
  • APP-GRAPHICS-FractINT
  • APP-GRAPHICS-Gotcha
  • APP-GRAPHICS-PMPentax
  • APP-GRAPHICS-PTPro
  • APP-GRAPHICS-SketchIt
  • APPS-GRAPHICS-WinIco
  • APP-INTERNET-FrontenACT
  • APP-INTERNET-OpenXP
  • APP-INTERNET-Jasmine
  • APP-INTERNET-News-Harvest
  • APP-MATH-Octave
  • APP-MISC-Ansirand
  • APP-MISC-Resizer
  • APP-NET-MyIP
  • APP-NET-PMVNC
  • APP-NET-TCPConfig
  • APP-NET-IpConfigPM
  • APP-SCIENCE-PMStars
  • APP-VOICE-BackTrack
  • CMD-Scripts
  • CMD-Tools
  • DEV-DRV-JoyDemo
  • DEV-DRV-JoySupport
  • DEV-MM-SoundExample
  • DEV-PM-ColorWheel
  • DEV-PM-PMColour
  • DEV-WPS-XRay
  • DRV-BT32
  • DRV-ext2
  • DRV-ext2FS
  • DRV-FAT32
  • DRV-Firewire
  • DRV-FreeType-2_IFI
  • DRV-HFS
  • DRV-IBM-Rapid-Access-Keyboard-I-Enabler
  • DRV-ISOFS
  • DRV-LXAPI32
  • DRV-MWDD32
  • DRV-NVeth
  • DRV-PHYSMEM
  • DRV-Rodent
  • DRV-SBLiveOS2
  • DRV-Serial_port
  • DRV-USBLib
  • DRV-WatcomIFS
  • DRV-WBamboo
  • GAME-ACTION-Aquanaut
  • GAME-ACTION-Asteroids
  • GAME-ACTION-BallsBall
  • GAME-ACTION-MakMan
  • GAME-ACTION-Rollball
  • GAME-CARDS-DICE-Lotto
  • LIB-Cairo
  • LIB-EVRexx
  • LIB-FastINI
  • Lib-Glide-2
  • LIB-REXX-PrintGraph
  • LIB-RexxUni
  • LIB-REXXUtil
  • LIB-SDL
  • LIB-VX-REXX-Extras-Library
  • LIB-WarpOverlay
  • MM-RADIO-PMRadio
  • MM-SOUND-CD2MP3_PM
  • MM-SOUND-GOGO
  • MM-SOUND-LBCSMix
  • MM-SOUND-LBPlay
  • MM-SOUND-PM123
  • MM-SOUND-PMMixer
  • MM-SOUND-SGPMIX
  • MM-SOUND-Voix
  • MM-SOUND-TiMidity-MCD
  • MM-VIDEO-DCITU
  • MM-VIDEO-MPG123
  • MM-VIDEO-QuickMotion
  • MM-VIDEO-Xine-MCD
  • MM-TV-TVShow
  • UTIL-ARCHIVER-ArcView
  • UTIL-ARCHIVER-FCrackZip
  • UTIL-ARCHIVER-lxLite
  • UTIL-ARCHIVER-sCT
  • UTIL-ARCHIVER-uuencode-uudecode
  • UTIL-ARCHIVER-Zoo
  • UTIL-BACKUP-fileUpdate
  • UTIL-BENCHMARK-CPUBurn
  • UTIL-BENCHMARK-Monitor
  • UTIL-BookShelf
  • UTIL-CDBoot2
  • UTIL-CLIPBOARD-ASCII_Table
  • UTIL-CONFIGEDITORS-Cube
  • UTIL-CONFIGEDITORS-INIServ
  • UTIL-ConText
  • UTIL-CONV-a2ps
  • UTIL-CONV-GenINI
  • UTIL-CONV-GNURecode
  • UTIL-CONV-Hlp2Inf
  • UTIL-CONV-Inf2HTML
  • UTIL-DISK-CDRom
  • UTIL-DISK-ClearTMP
  • UTIL-DISK-DiskUse
  • UTIL-DISK-FileSetDateTime
  • UTIL-DISK-FileSystem_Benchmark
  • UTIL-DISK-Fst
  • UTIL-DISK-PMFloppy_DiskCopy
  • UTIL-DISK-Rh
  • UTIL-DISK-SM2AddOn
  • UTIL-DISK-SpaceHog
  • UTIL-DISK-Synkron
  • UTIL-DISK-ToLower
  • UTIL-DISK-USBMountd
  • UTIL-DISK-VFAT2EA
  • UTIL-DISK-Which
  • UTIL-DOS-Navigator
  • UTIL-ENCRYPT-Digesta
  • UTIL-ENCRYPT-Krypto
  • UTIL-ENCRYPT-MD5SUML
  • UTIL-ENCRYPT-TeaTime-2
  • UTIL-FILE-cmp
  • UTIL-FILE-GNU_Grep
  • UTIL-FILE-GNU_sed
  • UTIL-FILE-GNU_text_utilities
  • UTIL-FILE-HexFind
  • UTIL-FILE-K_Replace_Name
  • UTIL-FILE-rcopy
  • UTIL-FILEMANAGER-FastList
  • UTIL-FILEMANAGER-JLCD
  • UTIL-FILEMANAGER-OnScreen2
  • UTIL-FILEMANAGER-Text_Mode_FM-2
  • UTIL-FILEMANAGER-WarpCabinet
  • UTIL-FONT-FT2GUI
  • UTIL-FONT-getfont
  • UTIL-FONT-InstFont
  • UTIL-FONT-TFont
  • UTIL-FONT-TTF2PT1
  • UTIL-FONT-Type1_font
  • UTIL-HFSutils
  • UTIL-INTERNATIONAL-ConText
  • UTIL-INTERNATIONAL-dbcsmap
  • UTIL-INTERNATIONAL-IMERJ
  • UTIL-INTERNATIONAL-KIME
  • UTIL-KEYBOARD-DVORAK
  • UTIL-KEYBOARD-FixKey
  • UTIL-KEYBOARD-HPLED
  • UTIL-KEYBOARD-numcomma
  • UTIL-KEYBOARD-numlock
  • UTIL-KEYBOARD-ShiftLock_bug
  • UTIL-KEYBOARD-SWAPDCP
  • UTIL-KEYBOARD-Win95Key
  • UTIL-MAINBOARD-823xcool
  • UTIL-MAINBOARD-CPU_throttle
  • UTIL-MAINBOARD-epox
  • UTIL-MAINBOARD-Ice
  • UTIL-MAINBOARD-lmicro
  • UTIL-MAINBOARD-P2L97
  • UTIL-MAINBOARD-QuietPC
  • UTIL-MAINBOARD-Tx97mon
  • UTIL-MEMORY-AllocMem
  • UTIL-MEMORY-MemLink
  • UTIL-MEMORY-Memory_Watcher
  • UTIL-MEMORY-RAMTest
  • UTIL-MISC-buffer2
  • UTIL-MISC-CPUInfo
  • UTIL-MISC-CRC
  • UTIL-MISC-Fake
  • UTIL-MISC-FaxWorks_Modify
  • UTIL-MISC-Hibernation_toolkit
  • UTIL-MISC-infidx
  • UTIL-MISC-isRunning
  • UTIL-MISC-METAR_decoder
  • UTIL-MISC-PCI-AGP_bus_sniffer
  • UTIL-MISC-PCIUtils
  • UTIL-MISC-PMKey
  • UTIL-MISC-PnP
  • UTIL-MISC-RWPC
  • UTIL-MISC-SerialPort
  • UTIL-MISC-TimeUp
  • UTIL-MISC-VGASync
  • UTIL-MOUSE-eM-Bee-3-Junior
  • UTIL-MOUSE-MouseSpeed
  • UTIL-MOUSE-MSE
  • UTIL-MOUSE-SysPointers
  • UTIL-NET-TCP-IP-Profile-Manager
  • UTIL-NET-Sticky2
  • UTIL-POWER-OS2APM
  • UTIL-POWER-OS2_UPSd
  • UTIL-POWER-PMAPM
  • UTIL-POWER-PUC
  • UTIL-POWER-UPS_Power_manager_drivers
  • UTIL-POWER-VeriData
  • UTIL-POWER-XBatt
  • UTIL-PROCESS-Death
  • UTIL-PROCESS-Death9
  • UTIL-PROCESS-Fingerd
  • UTIL-PROCESS-Kill
  • UTIL-PROCESS-kTaskMgr
  • UTIL-PROCESS-Nice
  • UTIL-PROCESS-Nice-2
  • UTIL-PROCESS-ProcMan
  • UTIL-PROCESS-XLoad
  • UTIL-PROCESS-Yet_another_Kill_utility
  • UTIL-SCHEDULE-CronEdit
  • UTIL-SCHEDULE-CRON_2
  • UTIL-SCHEDULE-PMCron
  • UTIL-SCHEDULE-Remind
  • UTIL-SCHEDULE-RemindMe
  • UTIL-SHELL-Ash
  • UTIL-SHELL-CMD_boot
  • UTIL-SHELL-GNU_bash
  • UTIL-SHELL-GNU_shell_utilities
  • UTIL-SHELL-KShell
  • UTIL-SHELL-Midnight_Commander
  • UTIL-SHELL-Zsh
  • UTIL-STARTUP-BOOTANY
  • UTIL-SYSTEM-2Monitor
  • UTIL-SYSTEM-ACPI_Throttle_Control
  • UTIL-SYSTEM-ALVM
  • UTIL-SYSTEM-AssoEdit
  • UTIL-SYSTEM-BookShelf
  • UTIL-SYSTEM-CAD-off
  • UTIL-SYSTEM-CMDHere
  • UTIL-SYSTEM-Color
  • UTIL-SYSTEM-Config2
  • UTIL-SYSTEM-Configuration_Editor
  • UTIL-SYSTEM-CPU_Monitor_starter
  • UTIL-SYSTEM-CSSU
  • UTIL-SYSTEM-Cstart
  • UTIL-SYSTEM-dmidecode
  • UTIL-SYSTEM-FastINI
  • UTIL-SYSTEM-FileStat
  • UTIL-SYSTEM-Global_Environment_Package
  • UTIL-SYSTEM-Jump
  • UTIL-SYSTEM-LockUpWD
  • UTIL-SYSTEM-MEMBIOS_MEMAVL20
  • UTIL-SYSTEM-MemSize
  • UTIL-SYSTEM-MKMSGF
  • UTIL-SYSTEM-NoCAD
  • UTIL-SYSTEM-On_Shutdown
  • UTIL-SYSTEM-Pentium_bug
  • UTIL-SYSTEM-PMDLL
  • UTIL-SYSTEM-PMRmView
  • UTIL-SYSTEM-PM_ShutDown
  • UTIL-SYSTEM-Pwd-2
  • UTIL-SYSTEM-RenModul
  • UTIL-SYSTEM-set6x86
  • UTIL-SYSTEM-SetPriority
  • UTIL-SYSTEM-SetProc
  • UTIL-SYSTEM-ShutDown2
  • UTIL-SYSTEM-ShutDown_Chip
  • UTIL-SYSTEM-ShutDown_CMD
  • UTIL-SYSTEM-SPE
  • UTIL-SYSTEM-StartVIO
  • UTIL-SYSTEM-Stats
  • UTIL-SYSTEM-Switch
  • UTIL-SYSTEM-Sync
  • UTIL-SYSTEM-SysLog
  • UTIL-SYSTEM-SysLogd
  • UTIL-SYSTEM-UpTime
  • UTIL-SYSTEM-VSWITCH
  • UTIL-SYSTEM-xUpTime
  • UTIL-VIRUS-Conficker
  • UTIL-WPS-ATShell
  • UTIL-WPS-BackGrnd
  • UTIL-WPS-Beat
  • UTIL-WPS-Blackhole
  • UTIL-WPS-Boinc-Widget
  • UTIL-WPS-Bubblepad
  • UTIL-WPS-CandyBarz
  • UTIL-WPS-CandyFolder
  • UTIL-WPS-Console
  • UTIL-WPS-CpPal
  • UTIL-WPS-CrisWidgets
  • UTIL-WPS-DDIcon
  • UTIL-WPS-Doodle-Screen-Saver
  • UTIL-WPS-Execnet
  • UTIL-WPS-Flip
  • UTIL-WPS-Float
  • UTIL-WPS-FM2TaskBar
  • UTIL-WPS-HB_Object_Inspector
  • UTIL-WPS-HotCorners
  • UTIL-WPS-HotScroll
  • UTIL-WPS-INI_Assistent
  • UTIL-WPS-Killfldr
  • UTIL-WPS-Lower
  • UTIL-WPS-LSwitcher
  • UTIL-WPS-MinAll
  • UTIL-WPS-MiniApps
  • UTIL-WPS-Mini_PM_Shell
  • UTIL-WPS-MNIcon
  • UTIL-WPS-Multidesk
  • UTIL-WPS-NewMonthGadget
  • UTIL-WPS-Nice_OS2_Enhancer
  • UTIL-WPS-NPS_WPS_Enhancer
  • UTIL-WPS-Open
  • UTIL-WPS-PMPause
  • UTIL-WPS-PopCD
  • UTIL-WPS-Program_Commander-2
  • UTIL-WPS-PU_Monitor
  • UTIL-WPS-QuitProg
  • UTIL-WPS-RexxAutoStart
  • UTIL-WPS-Run
  • UTIL-WPS-Scale
  • UTIL-WPS-SCMouse
  • UTIL-WPS-Stats
  • UTIL-WPS-SwitchTo
  • UTIL-WPS-SysBar2
  • UTIL-WPS-Systray-2
  • UTIL-WPS-TheWall
  • UTIL-WPS-Vwin
  • UTIL-WPS-Wanda
  • UTIL-WPS-WarpCenter_HotKey
  • UTIL-WPS-WPPrgExt
  • UTIL-WPS-wxTasks
  • UTIL-WPS-XLogo
  • UTIL-WPS-XShadow
  • UTIL-WPS-ZipZap
  • WIN16-Worplace-Shell-for-Windows

Remember that help is always welcome. This is a community effort to help this platform
.
Please give me your feedback on the OS2World Forum.

Regards.
Martin Iturbide
OS2World NewsMaster

jueves, 4 de julio de 2013

An OS/2 Workplace Shell Clone - A Project?- Suggestions? - Developers?

You all know that my final dream will be to have a formal open source OS/2 clone. I also guess that the majority of the OS/2-eCS community share the same dream, even that can only be called a dream.  But when I see projects like Haiku OS and ReactOS I see also that it is not impossible.

Since I want to move a little step closer to that dream I started a blog to share some ideas about it. And my first steps was trying to document at a high level the OS/2 architecture and try to find some points of where should we start.  http://openwarp.blogspot.com/

I proposed that it will be interesting to start an OS/2 clone from "Top to down" which means cloning WPS, SOM and PM. And after analyzing this three components I also proposed that will be interesting to start cloning WPS classes on top of IBM's SOM and IBM's PM. why?
  • WPS classes can be called as the core of WPS
  • WPS classes are an important way on how we interact with OS/2-eCS
  • eComStation can benefit from this project and improve it functionality, while also contributing to the open source project
  • Cloning WPS will be a strong political statement outside the OS/2 community that we are moving forward on an OS/2 open source clone.
  • We will move one step forward on having a long term strategy for the Operating System.

I also wrote some pitfalls on the blog about starting with a WPS Clone:
  • Developers... I don't have (yet) no one interested on the project. It is also hard to find developers with WPS and SOM skills.
  • Money. It will be very hard to find someone for free.
  • Any strange behavior (quirks) on IBM SOM will need to be supported until IBM's SOM can be cloned.
  • After a working clone of  WorkplaceShell is created, it will require future re-works/tweaking when the SOM and PM clones gets created.
Summary.

I want to see the possibility start a project to create an open source WPS classes full clone. I don't have development skills, I can't do it alone and I need developers, suggestions, funding and moral support :)

But I think that first I need to contact some developers with WPS/SOM skills to try to define a plan, costs, time frames and also evaluate the open source software that we currently have that can be re-used.

I'm open for suggestions.

lunes, 17 de junio de 2013

The UML design of OS/2's Workplace Shell

I wanted to unrust my UML skills,so I started to play a little bit with ArgoUML and try to generate the class diagram of OS/2's Workplace Shell based on the documentation I have.

Here goes the draft files I have for the moment. (only the classes)


miércoles, 29 de mayo de 2013

OS/2 Warp and eComStation Architecture by Component.

I had modified the OS/2 Warp - eComStation Archicture by components graphics.

This time I had removed the TCP/IP, MPTS and MMPM/2 applications, just to show it more general, since sometimes MPTS can run without Presentation Manager and was not complete correct.


The file in ODG format can be downloaded here.  Any suggestion on how to improve the graphic is welcome.

martes, 21 de mayo de 2013

Workplace Shell Architecture

Any plan on starting with Workplace Shell will need some understanding of the architecture.

From what I saw on EDM/2 WPS articles every one points that WPS is a set of classes constructed over SOM.

The classes of Warp 4 with their hierarchy are:

 SOMObject

There is also an API that has WPS related functions like WinCreateObject and a lot more, but those are part of the Presentation Manager API (I think).

My next steps is trying to understand more about WPS to solve this questions:

1) If we have an open source replacement for all this WPS Classes can we say that we have a 100% WorkplaceShell open source clone?

2) What will be the effort of replacing all this classes based on what it had been done in the XWorkplace project.?

lunes, 13 de mayo de 2013

Starting with Workplace Shell

If I will start with the idea to "Top-to-Down" to make an OS/2 clone  the first step will be to try to clone OS/2 Warp's WorkplaceShell.

Goal: A 100% open source replacement for Workplace Shell.

Reuse: XWorkplace components (GNU GPL V2).

Project Requirements:
  • The WorkplaceShell clone should run on top of OS/2 Warp 4.52 or eComStation 2.x which means that the WorkplaceShell clone should run over IBM's SOM and IBM's PM. 
  • Replicate as much of the original WorkplaceShell functionality as possible. Strange stuff (classes) that are not used may not be cloned. 
  • Open source under the GNU GPL license, since XWorkplace has a lot of work and derivative works should be done under the same license. 
  • Try to replace dependencies on VisualAge for C++ 3 which is used by XWorkplace and try to use GCC compiler. SOM compiler will remain the IBM one.
Pitfalls:
  • Developers... I don't have (yet) no one interested on the project. It is also hard to find developers with WPS and SOM skills.
  • Money. It will be very hard to find someone for free.
  • Any strange behavior (quirks) on IBM SOM will need to be supported until IBM's SOM can be cloned.
  • After a working clone of  WorkplaceShell is created, it will require future re-works/tweaking when the SOM and PM clones gets created. 
Other open source code that can be checked for this project:
Next Steps:
This are the first steps that I have pending to understand more this possibility. 
  • Know more about WorkplaceShell architecture to understand the work items that need to be procedure. 
  •  Try to assess with developer(s) what can be re-used from XWorkplace and  time efforts to accomplish a 100% WPS clone.

viernes, 10 de mayo de 2013

An open source proposal

Alex Taylor shared with me some of his ideas for an Open Source OS/2 clone. This document is dated from September 2004.
 Excellent documents that is worthy reading.