gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: side projects and sub projects


From: Stefan Bidigaray
Subject: Re: side projects and sub projects
Date: Sat, 27 Feb 2016 12:01:53 -0500

On Fri, Feb 26, 2016 at 12:08 PM, Richard Frith-Macdonald <address@hidden> wrote:
In the discussion list Doc O'Leary is a troll I've blocked (I don't know why you keep feeding/responding to him Riccardo; I hope it doesn't get too depressing for you).
But ... one of his strange comments I recently saw quoted in one of Riccardo's replies to him (gnustep has no goal; in spite of the fact that a year or so back, he was pointed tom the clear statements on the website) got me thinking about all the non-GNUstep stuff under the GNUstep umbrella.

I've stayed away from these threads, so far, for the exact reasons that have been rehashed by yourself and the other developers.  That said, I feel compelled to add my opinion to yours as I agree with your overall prose.

While the mission statement seems so clear on the website that only a troll would say it's not:

GNUstep is a framework for portable software development in the Objective-C language based on Apple's Cocoa (formerly NeXT's OpenStep) APIs.
It consists of core portable software libraries and a few key portable development tools/applications to use them.
It targets complete compatibility with the OSX-10.4 Cocoa API (but also adds later APIs)
It freely accepts subject to copyright assignment) portable contributions to improve/update OSX Cocoa compatibility.

We are less clear about all the other stuff, outside GNUstep core itself, that we generally support to various degrees.

I agree with you that the overall goal of GNUstep--the GNU project, not the community that enable the project--already has a stated goal.  I also agree, however, that the project is not clear about the "other stuff".  For example, GNUstep includes GWorkspace and System Preferences as officially supported packages, but these are desktop applications.  It also includes things like EC, Performance, GDL, etc in the official repository which, despite being useful frameworks, go beyond the stated goal.  Like it or not, these sub-projects add to the confusion.

There are many related projects and ideas which are not part of GNUstep proper, but which GNUstep developers consider to be worthwhile side-projects which should be supported; including code changes/extensions within GNUstep itself.  Changes to GNUstep may be incorporation of contributed software to update OSX compatibility, addition of new non-OSX APIs, or even alteration of library internals to support integration with other projects.

These side projects, while not GNUstep proper, are commonly referred to using GNUstep as an umbrella term;

Etoile  ...                             experimental cutting-edge code
GNUstep Applications Project ...        collecting free application which use GNUstep
GNUstep Reference distribution ...      producing a reference distribution with GNUstep plus a
                                        full desktop environment based on it.
OSX native developer support ...        for developers who want to use proprietary OSX tools
Windows native integration ...          theme and tools for integration with native windows look and feel
GNU/Linux native integration ...        theme and tools for integration with GNU/Linux desktop environment

and many more (mostly less important, but apologies to anyone left out)

I believe the real hard part is where to draw the line.  One might argue that Windows and GNU/Linux native integration is actually part of "a framework for portable software development in the Objective-C language...", because without this integration can you really say it is portable?  I'm not arguing for or against that, just suggesting how the stated goal might be used to justify side-projects to be included as part of the official project.

And then, once you've drawn the line it needs to be respected.  This last bit is tough with a community driven project.  Folks are always going to want to push their pet projects, and the easiest way to gain legitimacy for these side-projects is to include it in the upstream project.
 
I guess we could also have sub projects (as opposed to side projects), where the aim of the project is solely to feed back into GNUstep and improve it in a major way.
eg. a ten-point-five project by people interested in a concerted effort to audit and contribute enough of the OSX 10.5 Cocoa API changes for GNUstep to target complete compatibility with that version of OSX, or a project to make mouth-wateringly pretty API documentation for GNUstep.

I use the term 'project' loosely here.
Some have been worked on by a team or are regularly maintained by someone
Some have had individuals do informal work
Some of these are really just wishlist items ... nobody is actually doing them

In all cases, if anyone were to volunteer then GNUstep people would help, but we lack the manpower/time to initiate/sustain that sort of thing.



So a suggestion/query;

Would it make sense to maintain a table listing all these 'projects', describing their aims, reporting their status (active, maintenance, wishlist or something like that), giving links and contact details (maybe even a signup mechanism) for people to get involved and coordinate with each other?

The Wiki is already full of such pages.  In my opinion, any effort to provide such a list-of-links should also include an effort to clean up the website and wiki.  Personally, I think we should model whatever we do on the Qt (http://www.qt.io/) and GTK+ (http://www.gtk.org/) websites.  These are GNUstep's most direct competitors.  I really like how the GTK+ website is short and to the point, it says a lot about the project in very few words.

The main web page, for example, has the statement "A comprehensive list of applications on our Wiki application pages and in the Software Index".  When using "our" it implies that it is part of the project.

The wiki currently includes extremely outdated pages that were created by side-projects but once the project was abandoned, discontinued or incorporated they wiki was never updated.  Take the Camaelon (http://wiki.gnustep.org/index.php/Camaelon) page, for example.  It is currently referenced by the Themes (http://wiki.gnustep.org/index.php/Themes).  This was just the most obvious example I found, there are many others that reference side-projects where the description is unclear.

We also have a wish-list already, it is just extremely confusing and goes against some of the things you said and the stated goal (http://wiki.gnustep.org/index.php/Wish_list).
 
I think trying to publicise/support these side projects would actually feed back into GNUstep rather than sucking away resources. 

I agree, but it is also important to keep it up-to-date.

Whatever is done, though, I think it needs to be a concerted effort.  Every developer needs to realize not everything they want will make the cut and that maybe additional stuff will be added that they disagree with.

Stefan

reply via email to

[Prev in Thread] Current Thread [Next in Thread]