Kickstart the GNUstep Project
kickstarter.com
kickstarter.com
I have been extolling the virtues of Obj-C and Apple/NeXT's Cocoa's APIs and its legendary user interface design since I first saw it. When I found out about GNUstep about a year ago, I kept asking myself why nobody else had picked it up.
I realized that the people who liked Obj-C and Cocoa just used OS X. GNUstep was a pointless waste of time for a Cocoa developer, but with OS X quickly seeming like the replacement for Windows on the desktop, I'm glad it's finally picking up steam.
But, as we said prior, the people that care just use OS X. Their target platform is OS X. The Linux users are happy with WINE and GTK+. There's nowhere for the project to go, and I fear that this Kickstarter will be a failed effort.
I'm putting down my cash for this. I want to see it succeed. I know it probably won't.
If it does, well, the rest is history. Maybe it will jumpstart Obj-C x-platform like Mono did for C#.
------
also, for those interested in the NeXT-style look and feel, the Window Maker (GNUstep WM) LiveCDs have had consistent snapshots and are always updated; based on Debian testing: http://wmlive.sourceforge.net/
Even on OS X the potential of NeXTstep remains largely unrealized as most apps do not take advantage of the APIs in a way that allows leveraging heterogeneous apps into a conceived workflow.
As a result, a fantastic opportunity to create an environment that is composable in a consistent, homogeneous manner is wasted.
What is worse is that such an environment does not exist anywhere in computing.
The closest thing that exists to realizing an entirely composable or scriptable environment is emacs, and that environment has not incorporated progress in graphics into its ecosystem.
Consequently, the capacity to compose workflows that interact with graphics is not possible, leading to a reliance on console style UIs for the most part.
I think that GNUstep losing steam has less to do with people who care choosing OS X and more to do with Gnome and KDE having a head of steam already by the time GNUstep came about, a characteristic that has lead to many cases of used technology being a consequence of circumstance rather than merit.
I just want an entirely scriptable, composable computing environment anywhere, and it is maddening that such does not exist as everyone would benefit from such.
Currently users either have to remain attached to a UNIX CLI userspace that does have composability or only have that composability in a small subset of applications due to the lack of a uniform interface in which to do so.
What computers are best at is what is least accessible in computing presently, leading to people having to do automatable tasks manually.
It's a tragedy that such is the case after decades of examples of how to achieve that being partially implemented.
Computing has even regressed greatly in this regard in the past decade due to giving our generated data to gatekeepers, when the data was local machines at least then we could apply rules to the data to transform it according to the user's whims, such as filtering out noise in a RSS feed, automating archival of useful information etc.
Now users are entirely reliant on the gatekeepers allowing them to transform information, often which is neither possible or comes accompanied with distracting ads or other attention parasites.
I would gladly switch to an ecosystem that realized the vision NeXTstep et al. had so that managing complexity and transforming data did not entail abandoning solidly engineered GUI applications in the process, sadly this is another case where computing has been unsuccessful in achieving ambitious goals.
1 http://www.youtube.com/watch?v=2nrZiJph6SU&sns=em
I should point out that there are anumber of companies who have moved their products to Windows using GNUstep. THIS is the point of GNUstep, to allow both development of new projects and porting of existing projects to other platforms without the need for much code change. There are two examples of companies which do this today:
http://www.testplant.com - Testplant ported their EggPlant app (a testing app which is script driven) which is the core of their company to Windows. NOW the revenue from the Windows version makes up more than 2/3rds of the company's revenue.
http://www.apportable.com - Got an Android? Got an android that runs any game which is familiar to you from iOS... well, guess what... chances are these guys probably ported it... and they used GNUstep to do it. GNUstep is currently running on millions of devices out there.
So the sentiment "just get a mac" in this context, makes absolutely no sense at all and, in fact, completely misses the point.
Greg C.
edit: Both company's that you mention should just sponsor the project and/or pay you to work on it full time as this is the backbone of there business
A modernised GNUStep could allow easy ports of a lot of MacOS software, both open and closed-source. That in itself might be enough to kickstart a non-MacOS ObjC/Cocoa ecosystem.
I guess ideally this would need a company that is the equivilent of Xamarin to drive this and objective C forward onto the other platforms.
This project is unlikely to be successfully funded. In fact, "unlikely" is a mild word for just how unlikely it is to succeed.
Problem #1 - No clear value demonstration to the end user. The video is... not very good. The primary reason it's not very good is because it's asking people to read. People react instinctively to faces, to the sound of a person's voice, and to feeling connected with them. It's no coincidence that virtually every successful Kickstarter campaign contains monologues by their campaign creators. Thus, while there may be a value proposition embedded somewhere in the video, it's probably lost on most people who watch it because they just aren't really identifying with what is being presented.
Problem #2 - a $25 minimum price point. The gamedev industry has repeatedly proven that by enabling people to contribute $5 and $10, you reap about 20-40% more income than you otherwise would have. This truth isn't restricted to the domain of gamedev. The evidence for this is that virtually every successful Kickstarter project has low-tier contribution levels, often contributing a significant amount to the bottom-line of projects that aren't going to deliver a tangible product. E.g. this may not be so important for projects like Soylent, where the end-user will receive something tangible, but it's pretty important for most projects that weren't set up with the goal of taking preorders.
Problem #3 - Too high of a threshold for funding. $50k is not reasonable when the value proposition is so unclear. I could see this project reaching $5k or maybe even $10k. But it's not reasonable to calculate how much it would cost you to work on it, and then use that as the funding goal. "What would the crowds be willing to pay?" takes priority over "How much would this cost me in terms of my time, and what is my time worth?"
No one said that. It is a lame criticism - focus on whether there is a need for the project, is it possible in the time frame, etc. Substance over style, please.
I looked at this and had the opposite reaction. $50K is between 50 and 75% of a full-time developer's salary in NYC for a single year (I believe it's similar in SF). Are we expected to believe that that's all it would take to get Cocoa libraries running seamlessly on GNU?
Granted, I've never dealt with Cocoa at all, so maybe I'm overestimating this, but it seems like a lot of work.
I mean, how can you take a 15-year, multi-person project, and then assume it's going to be completed with a single person-year[0]?
[0] I don't mean literally a single person - I'm referring to a person-year being a unit of "work" (ie, the theoretical work equivalent of one person for a year).
Granted, if you have to hire devs not already part of your project at market rate, things will go way up from that.
That's not what the project plans to do. Apple's implementation of Cocoa isn't open-source. GNUStep already has large parts of the Cocoa APIs implemented, but they're very outdated. I think fixing this on $50k is extremely ambitious, but note that the project says they'll be brought up to at least 10.6 (which would be good enough to allow easy ports of a lot of Mac software), not all the way to 10.9.
That is a problem.
Problem #1, the video is all I could do. I am not very good at doing videos, it's not my profession. I have little time to hire a cameraman or do professional video editing and I'm not all that photogenic to boot, so it might be a good thing you don't see me on camera.
Problem #2: Easily fixable. I can add other incentives while the project is running.
Problem #3: If the goal isn't reached, then it becomes a matter of it's not even something that's reachable since I must have enough time freed (by having money) to complete what needs to be done. Without the time, the work can't be done at an accelerated rate since I will need to continue to do it in my spare time. So, while the funding goal is high, it is not unreasonable for a project this size.
This project is now a business seeking outside funding and should be conducted as such. There are no excuses and perception is everything. Instead of an itemized (note: this projects as petty) response, you need to fix it and say "thank you" to sillysaurus for the valuable input.
You've since added $1 minimum contributions. Awesome! What does that person get? An honorable mention? Their name on the 'Founder's List'? There's nothing in the tier descriptions...
The overall message is still unclear. How does Johnny MacBook benefit from all of your hard work? What is the point?
I want this project to succeed, and that is where the feedback comes from. It's obvious to me and everyone else here that you've put a lot of time and effort into this project. Please don't make the mistake of thinking that it's enough to build it. If they don't know what it is and what it does for them, they won't come.
Those were always there. They are always there. The top-level commenter was complaining about reward tiers. Apparently he thinks developers aren't incentivized enough by the work getting done on the platform they want to use. I think that's pretty bizarre.
> How does Johnny MacBook benefit from all of your hard work?
He doesn't in any way you could successfully communicate to "Johnny MacBook". The drive is squarely aimed at exactly the people who would most directly benefit from the work being done, and be the most likely to contribute: Developers.
The video IS all I could manage to do. I don't have the equipment or the skills to make a professional looking video.
The second point does make sense, I'm acting on this.
As for the third... he acts like I'm supposed to ask for $10,000 for such a goal. GNUstep is an very large project. Getting it to 10.6 compatibility is going to take time and I can't take the time off of work unless I haver the money I need to make it happen. Asking me to do this for anything less than what I projected is ludicrous beyond belief.
So, yes, I realize where the input comes from and I respect that. I will, however, not simply take those comments and act on them when some of them are unsupportable and untenable.
All of that being said I am planning on adding a video in the next couple of days (most likely tomorrow) of me talking about the project so that people have a face to put to it.
I seriously do thank all of you for your input and I apologize if my responses seem combative. It was my understanding or impression, however, that this was not simply a case of me taking input and mindlessly acting on it, but, instead, a discussion of what's best to help the project succeed and that does include my responses to your feedback.
GC
You should. There's no downside, but there's plenty of downside to being brusque. You don't need to act on the suggestions.
> As for the third... he acts like I'm supposed to ask for $10,000 for such a goal. GNUstep is an very large project. Getting it to 10.6 compatibility is going to take time and I can't take the time off of work unless I haver the money I need to make it happen. Asking me to do this for anything less than what I projected is ludicrous beyond belief.
He's saying that unless you recontextualize the project, you're asking for too much. Potential donors will have their expectations anchored by (a) their ideas about Kickstarter projects in general, (b) their ideas about similar Kickstarter projects, and (c) their understanding of the value you'll be providing relative to their needs.
If your goal is high relative to similar Kickstarter projects you have to make it appear worth that premium. If it's unclear what value your project will add to your donors' lives that will make your job that much harder.
That's what he's saying.
By the way, if you're asking for donations to pay for the time you're working on it and not the hard costs of the project then it's absolutely critical you have a video with your face on it and not just text. Folks are really donating for your labor, not to for this abstract project.
Huh? No it isn't. It's sponsored improvement of an existing open-source project; it might very well be useful to businesses, but is in no way a business itself.
To be honest, I wouldn't worry too much about the rewards; most people contributing to this will likely do so because it's something they'd either like to see or would find useful themselves.
Also, any plans to address UIKit?
I think, here, the rewards are more tokens than anything else; this isn't really a product-oriented Kickstarter, except arguably for people who are interested in Darling. Min contribution is actually $1; there's just no reward.
> Too high of a threshold for funding. $50k is not reasonable when the value proposition is so unclear.
I'm not too sure about this. A lot of people, myself included, would like to see GNUStep brought to parity with modern Cocoa. It's never going to be a mass appeal project, but I can see it making its goal.
Please read: http://www.gnustep.org/developers/whoiswho.html
Gregory Casamento
Thanks for your help. I see that the project has already reached 10% of its goal... maybe we can make this happen.
As objc and Apple itself has gained so much steam over the years, it's kind of funny to have learned it long ago via a clone of NeXT stuff. Most folks working in the language have no idea that it could possibly exist outside of Apple and tend to think of all the framework underneath them as a black box. I think maybe some of these folks would learn something by looking at an open source re-implementation of these NS* classes, or attempting such an endeavor themselves, even if on a small scale.
Also: objc is just too interesting for Apple to hog it all for themselves, or for it to be a one-implementation language.
But man, seeing objc and comparing it with its peers across multiple decades... In a world where most people were doing C++ and doing it badly[1], or doing Java and doing it badly, it was very eye-opening to see this tiny little runtime that adds objects to C and doesn't do a bad job of it.
[1] and I'm talking the pre-STL, pre-C++11 at that.
There was one, but it is pretty broken and answers to inquiries were basically answered with "why would you even want to do that"?
Quite simply: for testing purposes! Most Cocoa applications are developed on Macs, so being able to build them with the "other" framework on the same machine would help alot.
As to innovation in software frameworks, it is not going to take place on the Desktop, it’s taking place in the browser—where every major burgeoning framework is Open Source.
I mean, I was there 15 years ago, and Windowmaker on Debian 2.[0|1|2] was my environment of choice. I loved it.
But as I write from my new MBPr, I see pictures of something appearing "old".
That's why I hope the campaign is funded, but I know that it can and will be funded mainly by developers. And developers not caring much for that part of the UX which we call look & feel.
Unless of course somebody is doing a better video with more modern screenshots while I'm writing.
A copy of the GNUstep Live CD with GNUstep and all applications pre-installed on an instance of the latest version of Debian Linux.
Estimated delivery: Feb 2014
So maybe this step could reached before Feb 2014.He certainly doesn't quantify this on either his blog, nor on the kickstarter campaign though.
Sorry, but detachable menus, while great (and I love them in Autodesk Maya, but they start out as regular ones) would not make lots of people happy. Even Apple more than 15 years ago realized that, and their menus on Windows looked like Windows.
This is what for example ActiveDeveloper, an IDE based on WebObjects looked like:
http://img.brothersoft.com/screenshots/softimage/a/activedev...
This isn't listed on the front page of the project .. (and the Donations link, just goes to a wiki !? )
TideSDK has made pretty good progress on that front, by leveraging web tech. He could maybe save a heck of a lot of time by porting TideSDK to cocoa and then pushing that
http://www.gnustep.org/information/aboutGNUstep.html
I think my point still stands. He wants to bring cross-platform cocoa, partnering with an existing product might be a better way to do it
Do you see the point of the original OpenStep project? What's so great about the JVM? How many environments can run my Cocoa app?
The point of this is:
1) to have a working Cocoa port on Unix, Linux and Windows platforms.
2) to provide a way for programmers creating ObjC/Cocoa apps (and with iOS and the Mac App Store those are hundrends of thousands) to port their apps to Linux/Windows.
3) To move the GnuStep project forward.
4) To provide an additional set of nice, modern APIs on Linux. E.g. GTK3 is nowhere as good or feature complete as Cocoa (even 10.6 Cocoa).
5) To eventually give the possibility for cross-platform development of Mac/iOS apps (e.g games).
If they want to raise a moderately large amount of money they probably need to speak to more than just people who already totally understand what they're doing and why.
> 1) to have a working Cocoa port on Unix, Linux and Windows platforms.
OK but why? That's not a reason in itself.
> 2) to provide a way for programmers creating ObjC/Cocoa apps (and with iOS and the Mac App Store those are hundrends of thousands) to port their apps to Linux/Windows.
This may make sense, but there are important subsidiary questions:
- Will you cover enough of the APIs that a substantial number of apps can be ported? - Will the coverage be sufficiently high-quality? For example, can you do animation through GNUstep that's as good as on platform native APIs? - Will those app authors care about porting to Linux/Windows? - Is this easier for them than just writing a frontend to the native API, as they currently do?
> 3) To move the GnuStep project forward.
This is a tautology. Why does that matter?
> 4) To provide an additional set of nice, modern APIs on Linux. E.g. GTK3 is nowhere as good or feature complete as Cocoa (even 10.6 Cocoa).
OK. Will one guy part time for a year overtake GTK3 to get to parity with Cocoa? What does "nice, modern" mean and why is GnuStep better? Providing the best API on Linux seems in tension with providing fidelity to Apple APIs.
> 5) To eventually give the possibility for cross-platform development of Mac/iOS apps (e.g games).
This seems basically the same as #2, except if you explicitly mention games then covering 3d and input APIs at high quality seems even more important.