Wednesday, July 03, 2024

What Apple has forgotten...

 When NeXT still existed and the black hardware was a thing, Steve Jobs made the announcement that OPENSTEP would be created and that the object model, not the operating system and not the hardware, was the important thing.

This is a concept that Apple has forgotten.  With it's push towards Apple Silicon and a walled-garden, Apple has committed itself to the same pitfall that NeXT fell into.  NeXT lacked the infrastructure to handle OPENSTEP running on multiple kinds of hardware, but the object model on different OSes was successful... this is evident in OPENSTEP1.1 for Solaris and OPENSTEP for NT.

GNUstep attempts to reach the same goal, but provides the APIs that are available with Cocoa.   The object model IS the important thing and this is why GNUstep is so important.  It breaks the walled garden and makes it possible for users to run their apps and tools on other operating systems.  GNUstep HASN'T forgotten and we believe this is a core concept that Apple has left behind.

Sunday, June 16, 2024

Keysight laid me off in January!

A little history first. Keysight is a large company that, primarily, makes testing equipment such as oscilloscopes and other electronics. They bought a company a few years back named TestPlant. Prior to that, TestPlant bought a company by the name of Redstone that produced a product known as Eggplant. Recently, I was laid off for economic reasons (at least that's what they said). It occurs to me that nothing in this world lasts forever. I was so depressed when I was let go because Keysight was the perfect home for me... they used GNUstep deeply. So, as you can imagine, I was deeply upset when things ended... but all things do. 

 I think it happened for several reasons: 
  • Economic - This is what was explained to me, but I am not sure I believe it 
  • Politics - I think this part is because I expressed my opinions HONESTLY about the direction of the company given that they wanted to make the application into a VSCode plugin.
  • Perception - I am 54 years old... so I think that they believed that Objective-C was my one and only talent, it's not... I know many other languages and have many other skills. 
Unfortunately, in the US, any employer can let go of any employee or contractor for ANY reason. This is known as at-will employment, making it very hard to take any action against any employer (not that this is something I considered).

Keysight is and will remain a major contributor to GNUstep.

That being said, I recently ran into something rather disturbing at another company.   I have been working with a company based out of New Mexico that is interested in space applications.  They have been using GNUstep and have been awaiting funding.

The lead of this effort expressed something during a meeting saying "We will work on the GNUstep side of this because there is no reason we should have to pay for any of this."   This hit a sour note with me to say the very least.   As it turns out he was under the mistaken impression that, because the work was on GNUstep, it was for free... which is WRONG.

I wonder if the same impression was present at Keysight or if other companies believe this.  The saying, according to RMS, is "Free as in freedom, not as in beer."   If you are a manager at a company who is under the mistaken impression that work on any Free Software or Open Source project is free when your product depends on it, please correct your thinking.   Just because it is someone's passion project does NOT mean that they are going to do that work for free and prioritize the things that need to be done for your organization.

All of that being said the positive sides are this:
  1. More time to code on GNUstep without interruption
  2. More time to work on my own projects
  3. Time to rest and relax
So, as much as I hate being unemployed there ARE some upsides to it.  Here's to hoping something works out soon.   I literally loved my job at Keysight and, honestly, hope to return.   I have my eye on their changes as well as those of others just like any other member of the community.  Yours, GC

Monday, November 27, 2023

Objective-C end of life?? Not a chance...

Recently, I saw this article regarding ObjCs "end of life" from JetBrains.

The tiobe index seems to disagree. It’s also important to remember that jetbrains recently had to take down their AppCode application (which sucked) since it didn’t sell.
Jetbrains is the creator of the kotlin language so they have a vested interest in their android customers. I would take their “index” with a grain of salt to say the least.

While it is certain that Apple won’t be investing into thing beyond ObjC 2.0, it is foolhardy to think that ObjC is going away anytime soon since there is an enormous installed base of stable code, not the least of which is Foundation and AppKit themselves. Also consider CocoaPods.

So, no, not worried about it. Also… look at Java and COBOL. For years people have declared the end of both languages. Java is still popular, though not in vogue and COBOL while not one of the “cool kids” has literally billions of lines of code being maintained and new code being written every year. This (admittedly biased as it is by the CTO of MicroFocus) article gives some reasons why….

Here is the article about COBOL...

Plus… Apple already has a mechanism for automatically allowing objc and swift to work together. Take a look at the frameworks in Xcode and you’ll notice some files called *.apinotes. These are YAML files that are used by the compiler to allow easy integration into swift projects. So, essentially, if Apple writes an ObjC version of a framework they get the swift version for absolutely free (minus the cost of writing the YAML file). If they write a swift only version they don’t get that benefit.

So, yeah, in conclusion… Yes, ObjC is NOT on the rise, but reports of its demise have been greatly exaggerated! ;)

PS. That being said, Apple dumping ObjC might spell a boom for us as all of the people who have installed codebases would suddenly need support for it either on macOS (on which we don’t currently work) or on other platforms. Something to think about…

PPS. All of the above being said. I admit I wouldn’t be terribly shocked to hear from Apple that “we have dropped support for the legacy objc language to provide you with the best support for our new swift language to make it the ‘greatest developer experience in the world’” or some grotesque BS like that. Lol

GC

Saturday, March 25, 2023

Swift->ObjC interop

Some interesting notes. I will update this posting as i find more: * https://dart.dev/guides/libraries/objective-c-interop

Compatibility project almost complete

As the much villified theme for star trek enterprise says "its been a long road getting from there to here" i am almost done with all of the work that needed to be done to get us to Catalina compatibility in GNUstep. The reason this is still significant is because Apple hasn't made many changes to either the Foundation or AppKit APIs since then. I have been workinf hard over the last three years. All of the new classes are fully tested. Once this effort is completed I am going to focus on printing, which has always been a problem in GS. And possibly a "reference" distribution.

Thursday, April 02, 2020

Foundation is now close to Catalina compatibility

I have worked hard to get it to this point, but all of the classes in Catalina are now present in GNUstep's base implementation. Soon, all of the classes available in AppKit will also be available in GNUstep's GUI implementation. Please contribute to the project via patreon.... Become a Patron!

Wednesday, December 30, 2015

The results speak for themselves...

For the record, when I say "modern" I do NOT mean the current, old, NeXTSTEP based theme with new widgets. I mean a redesigned one.

Wednesday, October 21, 2015

Still waiting on you, Apple...

Back in July Apple promised to open source Swift. :)   Well, Apple?  What's going on?  Is this still the plan, Apple?

Saturday, June 13, 2015

Swift 2.0 Going Open Source.... great news!

As announced on their blog and on WWDC, Swift 2.0 will be going open source:

https://developer.apple.com/swift/blog/?id=29

GNUstep will fully support bindings to Swift.  We will start on support for this as soon as the source code is released by Apple.  I couldn't be happier about being proven wrong by Apple.  Thank you for restoring my faith in this regard.

Friday, October 03, 2014

The Reasons I Love GNUstep -- Speaking for Free Software

Recently, I had a discussion with RMS about being a speaker for Free Software.   In the end I was told simply to record some of my talks and that I would be given some feedback, but during the discussion I explained why I think GNUstep is important to free software and I believe that this is something that I think is important for other people to understand as well:

Hey Richard,

That shouldn't be hard to do.  I get invited to speak about GNUstep a
lot.  Not just about the technical aspects, but about it's importance
to free software.

While I have your attention, I would like to tell you the following...

I tend to see GNUstep as very important to the free software movement
as it facilitates developers moving away from environments such as
Cocoa and UIKit.  Apple has always been a power for control and an
enemy of freedom which is why I am so passionate about GNUstep.  I
don't like that they have locked down users like they have.

I realize that the rest of the community may not share my view and,
honestly, I have been somewhat disheartened as of late as I have
always had trouble getting other developers to see GNUstep as I do.
They focus on GNOME and KDE and consider Objective-C ugly or not
elegant.  I think that's a shame.   Which brings me to my final point.
  
Apple has recently introduced a new language called Swift.   It has
become abundantly clear that they have no intention of releasing Swift
even as open source (which I understand is a different movement, but
it would, at least, be a step for them in something which resembles
the right direction).

I feel like speaking about free software and, specifically, speaking
about how GNUstep can play an important role in it is why I would like
to be listed on the speakers list.   It would give me more of an
opportunity to speak out about Apple's evils and generally raise
awareness.

Thanks, GC

So, if anyone would like me to come and speak about free software or about GNUstep, please let me know.  I would be grateful for the opportunity.

Saturday, September 20, 2014

Recent Article About Swift Confirms Apple's Position

I really do hate being right sometimes.  I believe that's enough said on the subject, don't you?  All I know now is that action must be taken.   The era of closed source languages is over and has been for some time.

Monday, September 15, 2014

ToDo for GNUstep

My personal todo list on GNUstep at the moment in no particular order:

  1. XIB v5 support, currently working on this.
  2. Complete XIB/NIB creation via Gorm
  3. NSMetadata classes
    1. Involves looking into GWorkspace to see how metadata is extracted for files and to separate this functionality out.
  4. Printing on Windows. Integration with PrintDlg and GDI Printing API on Windows.
  5. Fix issues in buildtool/xcodebuild clone.
  6. WebKit implementation/Browser using CEF+elements of SWK
  7. Class Parser bugs fixed for ProjectCenter.

Friday, June 06, 2014

GNUstep's position on Swift


I wanted to make this post to make it clear to the community regarding GNUstep's position on the new Swift language.    If the language is released as open source then GNUstep will fully support it.  If it is, however, not released as open source then we will either take steps to create an implementation ourselves or provide any assistance needed to a group of people other than ourselves who are willing to take that on.

I believe that the language itself is a good one and that it represents an opportunity for more people to take part in the OSX, iOS and GNUstep communities if it's properly done.

My previous post was to illustrate the dangers of lock-in if that is, indeed, Apple's intention.  Those warnings should not be construed as any condemnation of the language itself.  This post is not backpedaling, only a clarification of my previous position (see the comments in the previous post).

Wednesday, June 04, 2014

Swift



Swift is a new programming language developed by Apple as a replacement for Objective-C.   I've had some time to review the language by reading the iBook which Apple made available on it for free.   It seems to me that the language is very javascript  like in it's design and is a clear concession to those who don't like Objective-C's syntax.   The real purpose behind this language, however, is a little darker.  I believe that it's ultimate purpose is lock-in.   The more developers start using Swift the less they are going to be able to move to other platforms (such as Android).   

Please be cautious when using it and make sure that the only platform you wish to release on is iOS because that is very likely the decision you ARE making if you choose swift.

The language itself is a very nice language, the implications of it are what concern me.  Anything which impacts user/developer freedoms makes me concerned.

Friday, November 01, 2013

GNUstep Ohloh Stats

Here are the latest stats from Ohloh. :)

30 Day SummaryOct 2 2013 — Nov 1 2013

12 Month SummaryNov 1 2012 — Nov 1 2013

  • 1195 CommitsUp +159 (15%) from previous 12 months
  • 17 ContributorsDown -2 (10%) from previous 12 months

Monday, August 12, 2013

Wednesday, July 24, 2013

The Dangers Of Walled Gardens

Apple's current status with their development site illustrates just one of the many issues with walled gardens.   The most significant of which is the compromise if user freedoms.   The one illustrated by last weeks incident shows us just how much developers for the iPhone and Mac app stores are at Apple's mercy.   While this was inherently obvious it has never been more obvious than right now just how fragile this relationship always was.

The real evil of Apple's app store is not the app store itself, but the code signing technology that is tied to it.   Since Apple is the only entity which can approve binaries to run on iOS devices or to go into the iOS or Mac app stores it represents a single point of failure.   This is the true evil of it.  What happens if Apple goes away?   We're left with devices which can't be used since the mothership is now gone.  Is this right?

I only hope that this incident gives people who are enamored with this concept time to reflect on what it's weaknesses really are.  

Google has managed to implement an appstore without much of the evil that is inherent in Apple's implementation and, even though Google may have done some evil with the NSA, at least it didn't do quite as much evil as Apple did in this particular instance.

Saturday, June 15, 2013

GNUstep Mythbusting...

Myth #1: GNUstep doesn't care about or implement any of the Cocoa frameworks or classes

As illustrated by some of the comments here, people still don't understand, really, what GNUstep is all about.  Sometimes I think it's the name, and sometimes I think it's just that people are willfully ignoring the facts or just want to spew nonsense in order to sound intelligent.

GNUstep implements most of the 10.5 APIs and is currently working on some of the 10.6, 7 and 8 Cocoa APIs.   Additionally, the project has implemented CoreFoundation, CoreGraphics and CoreAnimation is upcoming.   So, please, people.  Get off of this whole "GNUstep doesn't care" thing. We care and we are implementing as much as we can.   We are roughly 20 individuals, Apple is multi-billion dollar corporation.

Myth #2: No one uses GNUstep.

Wrong again, GNUstep is currently in use in millions of devices around the world.   This company http://www.apportable.com is using much of the GNUstep codebase to accomplish this.   It forms the basis for their UIKit implementation which is used to port applications from iOS to Android.   If we were only OpenStep, this wouldn't be possible.   Additionally, GNUstep is used by a number of companies to produce ports of their applications to Windows and to Linux.   See our wiki page about GNUstep success stories for more.

Myth #3: GNUstep can only look like NeXTSTEP

Not true.  GNUstep has devoted a lot of time to theming and the ability to make applications written using GNUstep look like just about anything you would like them to look like.

I'm sure these aren't the only myths circulating, but they are the most prominent and, to me, the most annoying.   I can't seem to get it through people's heads.  GNUstep is so much more than it used to be and so much more than people think it is.  I wish, for once, that people would actually look at the project before making judgements.

Myth #4: GNUstep looks like NeXTSTEP, so it must only implement NeXTSTEP

I honestly never expected developers to judge a book by it's cover, but many people do, even otherwise intelligent people.

Sunday, April 14, 2013

This is version 1.2.20 of Gorm.


1 ANNOUNCE
**********

This is version 1.2.20 of Gorm.

1.1 What is Gorm?
=================

Gorm is an acronym for Graphic Object Relationship modeler (or perhaps
GNUstep Object Relationship Modeler).

   Gorm is a clone of the Cocoa (OpenStep/NeXTSTEP) `Interface Builder'
application for GNUstep.

1.2 Noteworthy changes in version `1.2.20'
==========================================

   * Bug fixes #28643, #32827

   * Corrected issues with updating document when there is a change.

   * Add cells as objects to the document so they can be properly
     edited.

   * Changes to prevent recursive frame change notifications.

1.3 How can I get support for this software?
============================================

You may wish to use the GNUstep discussion mailing list for general
questions and discussion.  Look at the GNUstep Web Pages for more
information regarding GNUstep resources `http://www.gnustep.org/'

1.4 Where can you get it?  How can you compile it?
==================================================

You can download sources and rpms (for some machines) from
`ftp://ftp.gnustep.org/pub/gnustep/dev-apps'.

1.5 Where do I send bug reports?
================================

Bug reports can be sent to .

1.6 Obtaining GNU Software
==========================

Check out the GNUstep web site. (`http://www.gnustep.org/'), and the
GNU web site. (`http://www.gnu.org/')

Tuesday, April 02, 2013

Version 0.23.1 of the GNUstep GUI library (`gnustep-gui') is available

1 ANNOUNCE
**********

This is version 0.23.1 of the GNUstep GUI library (`gnustep-gui').

1.1 What is the GNUstep GUI Library?
====================================

It is a library of graphical user interface classes written completely
in the Objective-C language; the classes are based upon Apple's Cocoa
framework (which came from the OpenStep specification as release by
NeXT Software, Inc).  The library has been enhanced in a number of ways
to take advantage of the GNU system.  These classes include graphical
objects such as buttons, text fields, popup lists, browser lists, and
windows; there are also many associated classes for handling events,
colors, fonts, pasteboards and images.

   The GNUstep GUI Library is designed in two parts.  The first part is
the front-end component which is independent of platform and display
system.  This front-end is combined with a back-end component which
handles all of the display system dependent such as specific calls to
X/Windows.  This design allows the GNUstep applications to have the
"look and feel" of the underlying display system without any changes to
the application, and the library can be easily ported to other display
systems.

   The GNUstep GUI Library requires the GNU Objective-C compiler, the
GNUstep Base Library, the TIFF Graphics library, and a back-end
component like the GNUstep 'Back' Backend.

1.2 Noteworthy changes in version `0.23.1'
==========================================

This is a bugfix release, primarily to deal with coding/archiving
issues.

1.3 Where can you get it?  How can you compile it?
==================================================
The gstep-gui-0.23.1.tar.gz distribution file has been placed at
`ftp://ftp.gnustep.org/pub/gnustep/core'.

Read the INSTALL file or the GNUstep-HOWTO for installation
instructions.

1.4 Where do I send bug reports?
================================

Please log bug reports on the GNUstep project page
`http://savannah.gnu.org/bugs/?group=gnustep' or send bug reports to
<bug-gnustep@gnu.org>.
1.5 Obtaining GNU Software
==========================

Check out the GNUstep web site. (`http://www.gnustep.org/'), and the
GNU web site. (`http://www.gnu.org/')

What Apple has forgotten...

 When NeXT still existed and the black hardware was a thing, Steve Jobs made the announcement that OPENSTEP would be created and that the ob...