I'm a novice user of enlightenment. But I've always been a big fan of
the original e.16 (well, when I first saw e.15 I hated it, but that's
The first time I managed to get e_setup to run I immediately thought
"this is nothing less than a computer game".
As I've been messing around with the files, the various features, etc.
That idea has only been reinforced, especially now.
It occurred to me yesterday that what Raster is doing is creating an
environment which gives working folk a legit excuse to play a computer
game called e.17 all day. I mean, it ceases to be work when you can
mess around with your programs in this desktop.
But as everyone has noted, development of e.17 has been slowed down.
And even when it hasn't all the developers have jobs in the "real"
As the saying goes "the trick is to make what you love into something
people will pay you for".
My suggestion is meant as practical advice.
Start making computer games based on e.17
Just bear with me for a while.
You already have a fan base who loves you (the whole development team).
I don't mean "like", I mean "love". The mere fact that a lot of newbies
who know nothing about programming are willing to break their heads
trying to figure out how to compile the latest version of e.17 pretty
much says it all.
Consider this, the people on the team, are, for all intents and
purposes, creative artists. Even if they can't draw a stick figure this
is true. In many cases it is also true literally, for example it's known
that Raster is an artist (the kind that draws pictures) first,
The enlightenment project has created libraries and tools with
unparalleled graphical abilities. This screams out "games". A lot of e
happens to have the LGPL, I believe that you mentioned that one of the
reasons why you created wrappers around edb was also to separate its GPL
License from the other programs in the system.
Forgive me, but that is really a good thing for people. It means that
you understand that people, including you, need to put food on their
tables, and you want to help make that happen.
an example of a group of developers making money by selling commercial
products on Linux would be http://www.thekompany.com Some of their stuff is
freeware, some are programs which they make money on by selling
proprietary add ons (such as Kivio, which is free, but they sell stencil
sets for it).
Other programs they've made are development tools (such as Rekall which
is the closest thing to the jdbc on Linux that I've heard of).
Some of their projects are totally free - Aethera for example.
Kapital, a quicken clone, has a license which allows you to download the
source code provided the program is only used by one person. This takes
a lot of trust as well as a real love for what they do.
I'm referring thekompany and not Ximian or Loki because realistically
it's unlikely that another commercial group would be successful trying
to do what either of these has done. Look at eazel for an example
regarding ximian. Also, Loki is more in the business of porting games
to Linux rather than creating them.
Now that e is a desktop environment, it needs a team of guys who do this
full time. KDE has this in TrollTech, and in thekompany. Gnome now has
this in Ximian.
Considering that in many ways e is far more ambitious in it's goals. It
simply needs full time developers (if this is already the case, then
forgive me for this, I'm assuming it isn't based on what I have read on
the websites and heard in conversations ).
I have a feeling that you are already aware of all this, and that you
fully intend to create commercial graphical apps based on e. My
suggestion is that you use games.
The reason is twofold. First, based on what I've seen so far, in an
ideal world, e is definitely the way to go with games.
By "e" I am referring to both the desktop and the various libraries
which the desktop uses. Take your pick, using either/or/both is
obviously going to get you cooler and faster effects than anything else
I've heard of for the X server.
Like I said above, the desktop itself is for all intents and purposes a
game. It's incredibly fast lookups, as well as nearly unlimited
theme-able qualities make it ideal for running games on.
In any case the libraries, as far as I know are faster than anything
else. Whether you are using just evas, or ewl, or Imlib2 - that's what
I've heard, and seen. They are also said to be far more convenient than
other tools and API's for X out there.
I qualified the above statement by saying "in an ideal world" for a
couple of reasons.
First, is that people keep saying that e is not completed. I've seen e
hang up a few times, and things like the menu editor (I assume it's made
using ewl) are a bit buggy, so OK I'll go with that.
Second, unlike OpenGL or SDL, as far as I know, e isn't abstracted from
the platform it runs on. Or maybe it is, actually I'm not sure. If it
isn't then that limits it to X. If it is, then we are one step closer to
an ideal world :D
( some of you may have heard of http://www.xigraphics.com - I wonder, if Linux
gaming companies start being very successful, do you think it would be
in their interest to include the X server from Xi Graphics? That would
certainly be interesting. Also, I heard that the http://www.happyhacker.org
group is working on something called Y - while there is no chance in
hell that this will replace X, it's kind of nice knowing that there are
other people besides Raster working on insane projects.)
Alright, now that we know that e and its libraries is what you want to
be running if you are making a game, why make games as opposed to other
things like ebony, etcher, etc. ?
Because you are creative and stick to the bleeding edge. Game
programming from what I've heard requires that more than any other
field. While I think that it's possible for you to create development
programs similiar to blender or maya for commercial purposes, I think
games will give you the quickest and most flexible route for funding.
Major products require a lot of focus, their price tag also puts them
out of reach, and while you could make shareware versions, how many
people are going to use them besides developers? Finally, if you intend
to make money off it, you would absolutely have to use other tools
besides ewl and the enlightenment desktop, or even efsd. Evas, Imlib2 I
can see being a part of the development effort, but not more than that,
maybe edb, but I doubt it. Personally, I think that any commercial
developer on Linux should either use java or Qt, these are the only
things that are stable enough, powerful enough, and have cross
platform. (Despite what many say, that last bit is important, period.
As for java being slow, I've heard that on the Amiga it's damn fast, and
keep in mind Moore's law. Eventually you aren't going to be able to
tell the difference. )
Second, while I have total confidence in you, lets face it, it would
take a massive effort on your part to come out with programs like that.
John Carmack is said to have put in 80 hours a week when he started
out. You'd be probably up to 96 give or take 10 minutes. This would
not be very good for e I'm thinking.
So what's the advantage of games? By necessity, you'll have to start
out small, the reasons I mentioned above certainly apply to games, if
not more so. Which means development time is going to be short(er),
you'll be able to concentrate more on funky effects and experiment with
various stuff. The games would be more of a testing ground for the
various enlightenment libraries than anything else. It will give you a
lot of room to be creative, while offering you an added reason to work
on any part of the libraries you choose to concentrate on.
Efsd at that point is not merely a neat little tool, but becomes, in
it's own way, more powerful and necessary than either nautilus or
konqueror. It's very lack of the features in the other two makes it
ideal for both file browsing (efs) and keeping track of files (fam and
efsd). ( anyone who's used the gnome open-file dialog knows that it
sucks eggs, so that's not an option, especially for a game. )
Edb will be necessary for obvious reasons. As well as any graphics part
of the e libs.
OK, hopefully I've sold you by now, or at least piqued your (or one of
the other developer's interest) What are the practical steps to this?
This whole essay has just been about suggestions. I'm not a game
developer and G-d knows I'm not much good as a freelance developer when
it comes to getting projects done or making money. You guys are way
ahead of me. But "great is the generation when the great listen to the
small" as the saying goes.
First, I suggest that the first couple of games (maybe the first 5 to 10
) created obviously be freeware. Like I said, the games should be small
apps, more for the sake of getting your feet wet than anything else.
Also, just as importantly, for getting the user base hooked.
Second, remember that you want to create a niche market base of users.
Don't bother trying to get everyone. It simply won't happen. If you
decided to drop working on e, and working in a windows or playstation
based game company (like Id software, and if any of them are reading
this post I have no doubt that they are drooling over the idea), then
yes you would be successful, but you would never be your own boss.
Check out http://www.bc3000ad.com Derek Smart may be rough, but he knows what
he is doing. The one mistake I think he made was in trying to do too
much all at once, but given the results it seems to have been worth it.
But a niche base gives you tremendous freedom as well as a steady source
of income. A lot of people who've done it have had success with it.
Which is especially important in your case. The development team (at
least those who are willing to live on canned beans and bread crusts )
needs funding to work full time, in some fashion or another, on e.
The original games, like I said, would have to be small apps in
freeware. 2d graphics, shoot 'em ups, Commander Keen style games. (check
out id's web site, it's one of their first games)
Which brings us to the Third point - They should be able to run decently
without OpenGL acceleration.
Chromium is an example of what NOT to do.
The reason is that not all of us have OpenGL supported graphics cards.
And even if XiGraphics had drivers for our cards, I'm not sure it would
be possible to use the Mesa libraries, as they have their own
implementation of OpenGL. In fact I remember that you had to get rid of
the Mesa libraries if you wanted to use theirs.
For example, I have a Dell Inspiron 7500 laptop. Last I checked (about
a year ago ) Xi weren't supporting the ATI card on this laptop. You
could run X, just no acceleration.
Which means that people on a budget, or guys like me who don't feel like
shelling out 2500 bucks to get a laptop with Nvidia GeForce2go aren't
going to be able to try out any of that stuff. Which lowers your niche
base, which makes the whole exercise rather pointless.
Fourth, take a look at the various licenses which thekompany uses, it's
probably an ideal model of where you would want to go. Not just with
games but with serious apps as well. Ximian's model of services work
well in some places but I'm pretty sure that only thekompany's model
will work in your case.
Notice what they end up accomplishing
1) With the GPL apps, they end up improving the general environment in
which their apps run. Which means more people are likely to use apps in
KDE as a result, there are more potential customers to use apps such as
2) With the GPL apps that use proprietary extensions, such as the
stencil sets for Kivio, or Quanta Gold, they hook the user into the
product. This isn't just a 30 day trial period. This is a "use it
until you get so good with it, you really want to pay us for our
improvements to it"
3) They offer some totally proprietary apps, like Kapital, with the
source code. Which is, while incredibly trusting, also very beneficial,
both for the consumer, and for thekompany itself, as not only can bugs
be spotted and reported, but some people might fix those bugs or even
create apps that can use Kapital, making it in turn more useful
There are other things, but you get the idea.
Fifth, games should be offered on the enlightenment.org website. They
should be totally based on e17, and for obvious reasons the first 5-10
games should only be offered as source.
After that, when you've gotten a good feel for how much time,
involvement, coding is involved, then pick some model(s) and work with
it. You can go it alone, work with the other developers, etc. And do it
on the same site.
e.g. Developer joe wants to make a commercial game by himself. Offer
that on the site with whatever conditions he wants to it - free, cost,
You and Fred want to make a commercial App. On the site.
A free app by Joe and Mike. On the site.
The point is to offer an ideal means of funding the development team.
If any of the guys want to take this route, give them all the help they
can get. The information about this SHOULD NOT be only in CVS, that is,
don't just give a one-liner somewhere in the web site. This is
something which should have a big giant sign saying "looky here".
Notice by the way, that this will give an incentive to anyone who takes
this route, hell, even to people who just want to play the games, a
reason to work on documenting how to get e17 working. This goes for
both the libraries which the apps are based on, as well as the desktop
environment in itself.
It will also generate more interest by talented programmers to work on
e. There are no doubt people out there who wouldn't mind cutting their
teeth on some games. More apps, more useful; more useful, more people;
more people, more developers.
But game apps in general, if they are good, absolutely must be supported
on the web site. This is something that must be directed at the average
user. The average user doesn't download the misc component from CVS,
for the simple reasons that he both doesn't know it exists, and because
he doesn't know of anything that's in it that he would care about.
Games however, he definitely cares about. Especially e-users !!!! Give
the novices a lot of notice about this. If they just were curious about
e17, they will be willing to KILL in order to see games on e17 -
PROVIDED THEY KNOW IT EXISTS. Again, the web site should have a section
devoted to games on e17 or on any commercial apps should anyone go that
route. Try it, see if I'm right.
Note that this entire essay isn't directed at Raster alone, but on
everybody who is working on e, or on anybody in general. I honestly
don't care who takes up the suggestions in here so long as someone does
( and no, it's not going to be me, I just don't know enough, nor do I
feel like devoting my life to this, sorry. However if someone who takes
this up feels like hiring me for 5 hours a day, then hey, I'm your man,
just don't expect me to put more than 25 hours a week :D. Send requests
to /dev/null thank you. )