Proprietary Software Houses Support for Linux
Why is this not happening?
Well, let’s see, right now they have 2 separate code bases for their applications, one for Windows and one for Macos. They do not want to add a third code base.
I can understand that, I wouldn’t want to have three times the workload to have my application run on three operating systems.
There is yet another issue though, and it’s one that would slip by most people.
It is that most Linux distributions have customized the FSH, making it harder for anyone to develop a distribution agnostic application than it should be.
Some distros implement the /srv folder tree. some don’t. Most implement the /media folder, which is confusing to MS people, since such a folder means to them STORE MEDIA FILES, LIKE AUDIO, IMAGES AND VIDEO HERE not storage media.
Maybe the Free Software Foundation should pull their heads out of THEIR asses and look at how the FSH drives software companies away from supporting GNU-Linux with it’s completely confusing use of folder names and dismal lack of detailed specifications for such items as codec storage. I have been discussing he location of video codecs on Mandriva 2008 64 bit with Mandriva, they have zero documentation on such information, and what little response I get from the forum admins ignore the reality of compiled in paths not existing insanity.
[ they keep telling me to use a path that does not exist, so would not be in the applications path data, the applications do not have the path option in the settings dialogues and refuse to tell me EXACTLY where they store codecs by default.]
But, the first point, multiple code bases and huge amounts of labour to support multiple operating systems. That is an entirely reasonable issue, until you look at one simple point:
There are no less than 3 widget sets that are cross platform.
1. Q.T. [ http://trolltech.com ]
2. G.T.K. [ http://www.gtk.org ]
3. WxWidgets. [ http://www.wxwidgets.org ]
Each of the three widget sets has it’s own unique drawbacks and benefits.
One of the biggest benefits to using GTK is it’s License:
Licensed under the GNU LGPL 2.1 allowing development of both free and proprietary software with GTK+ without any license fees or royalties.
The drawback is that anyone using Windows would have to get and install the gtk libraries to use the applications requiring it.
QT is the widget set used for the KDE often mentioned for Linux.It also happens to be the widget set used as the foundation for Delphi widgets originally. It is available under the GNU-GPL for non MS Windows systems, and a commercial license version for MS Windows systems. That Commercial License is also available for the non Windows systems.
Both of the above have the next issue in common, the original issue, a code base for each os to be supported required. They do not have tools that will handle creating the os specific code needed for your application.
[ the windows IDE will only handle Windows code etc. ]
WxWidgets gets rid of the multiple code base problem. It’s lacking in a few things, like a single IDE for all operating systems. It seems no-one has yet written a good IDE using WxWidgets ![]()
and made it available for all operating systems. Code::Blocks is a wxwidgets based IDE, and is available for most operating systems, yet getting it to run on linux is a pain in the butt.
[ those distro centric customisations I mentioned above ]
With the single code base all os support of WxWidgets, there is one other issue, the widget set is bloated. They have their system create operating system specific calls for every os you chose to enable support for in the project code. Fortunately, the compiled binaries are stripped of code for other operating systems, so the “bloat” only exists in the source code and widget set. Since WxWidgets will use MFC widgets in a windows executable, Cocoa in OSX executable, GTK or QT in every other OS executable, the bloat never hits the end user product.
Ahh, just checked the other possible issue for WxWidgets, which is License issue. Here is what WxWidgets says:
wxWidgets is currently licensed under the “wxWindows Licence” pending approval of the “wxWidgets Licence” which will be identical apart from the name.
The wxWindows Licence is essentially the L-GPL (Library General Public Licence), with an exception stating that derived works in binary form may be distributed on the user’s own terms. This is a solution that satisfies those who wish to produce GPL’ed software using wxWidgets, and also those producing proprietary software.
So, other than the lack of a good, CROSS PLATFORM, IDE for working with WxWidgets, there is no reason not to use them for software development of cross platform applications.
What about Java for cross platform development?
Well, only if you are stupid is that an option.
I installed Sun’s Java to attend a webinar, it IMMEDIATELY caused a 50% reduction in system performance.
[ I removed Java, it's not acceptable to have that happen, specially on a dual core 2.4GHz 64 bit system. ]
Java is bloated in it’s design, and EVERY Java application is bloated because of the language failings.