Allegro.cc - Online Community

Allegro.cc Forums » Programming Questions » To go open source, yes or no?

This thread is locked; no one can reply to it. rss feed Print
To go open source, yes or no?
Marcello
Member #1,860
January 2002
avatar

I sometimes question the need for open source. I mean, for simple stuff, it's simply a matter of throwing in your source code with the release and not worrying about it, you don't really care if anyone does anything with the source or not, it's a done deal.

I have released the source code for several of my projects, sometimes asking for contribution from anyone interested, sometimes just because. Not once has anyone ever contributed anything or even acknowledged the existence of the code. Maybe once or twice people will ask me "how did you do that?" to which I point them at the source, and they're like, "oh," and that's the end of that. That makes me question it.

I have released incomplete projects open source (for example, JTablet) with the hope that people would help, contribute, and at the very least help me find particular bugs that evade me. But no, not one. I eventually end up having to do it myself, which just drives home my personally applicable motto of "if you want something done right..." I mean, it's so true. On the other hand, sometimes that means it just dies. For JTablet I just ended up breaking down and doing it myself, and was quite satisfied with the results---it just came a good half a year later. (I really cannot do that for the Mac and Linux ports though, so damn, I wish someone would finish them! But whatever, I do not use mac or linux, so no personal biggie.)

Part of the problem with the open source on incomplete projects is there is a lot of work (commenting, documenting, organizing, testing, etc.) just to get the freaking project ready for open source. I mean, when it is your own little project, you know where everything is, the quirks in compiling and whatnot, but when you're asking other people to work on it, you gotta have something they actually can work on. All that initial work isn't a problem---unless no one actually does anything. Then you feel like you have wasted your time.

But, I have a little faith left in open source, after all, there are many projects that have benefit from open source, and obviously my tiny projects are merely flies on the enormous rolling boulder of the internet.

Now, to get to the point. I have this little project I started a bit over 2 years ago known as Lascaux Sketch. It's gotten to that point where I really cannot stand to look at the code anymore, but it still has a few things left to be done, and bugs. As a drawing applet designed to work and function inside drawing website gallery things (generally known as "Oekaki sites," or whatever), Lascaux Sketch was intended for rather wide online distribution, and the only thing that's been keeping me from releasing it is its unfinished beta status. It's been running on my drawing site, 2draw for some time now, without too many serious problems, and I've gotten numerous requests for its release to be used on other sites, but I still haven't felt it ready to "go out into the world." I mean, frankly, I'm sick of working on it, it works for the most part, and if you know about the random quirks, it's a great program to use (imo), and I use it quite often. But I really do not feel like working on it.

I have considered several times the idea of releasing it as open source, since breaking down and doing it myself for this project is likely not going to happen unless I get a ton of motivation (for example, money). Also, if other people started to take an interest in the project and seriously help, no doubt I would be somewhat motivated myself. That's just how it works. I tend to be motivated by others more than myself.

So, what are your guys' thoughts on the matter? Do you think it is worth going through the effort to build up the project, package it up, document it a little, and perhaps outline what needs to be done and what the goals are for the final stages of the project, in the hopes that some enthusiasts will come up and help out? I am not extremely worried about people stealing code or ripping off the project as it is not perfect, but the thoughts do cross my mind. But then again, that doesn't really matter, if the benefits of open source bring the project to something better than it is now.

Obviously if I go open source, any plans to market or sell the program are gone, but I never really consciously thought I would (it was merely suggested by people, to help support myself). But that mind set requires me to actually want to work on the project, which, as mentioned, is not what I want to do. So that also doesn't bother me. Also, the exclusiveness that 2draw has by being the only site with Lascaux Sketch (not quite true anymore, as some Chinese group hacked it out and are using it---they even made up an entire documentation for the program in Chinese, despite there still not being an English one---however, they stupidly didn't consider simply writing a Chinese language sheet for the program, which would be much more useful as it'd change all the text in the program itself, and could be bundled with the program).

What bothers me the most is that it'd be a royal waste of time and no one will do squat. Obviously if I put forth the energy, I will go the extra step to make it known. I'm thinking of a sort of marketing/promotional strategy to help get the name out of the project, to show that it's a serious open source project, and "we need you." A couple ideas for that is to get talk out about the program by posting it on sites like this and 2draw, for starters, but also releasing an end-user public beta, and getting the program out there on all these existing drawing sites by making it an easy module patch to the existing oekaki sites using other drawing applets.
It could have some non-obtrusive notice that it is indeed a public beta version of an open source project looking for contributors to help with the project. If enough people are using the program, the small annoyances/bugs may get people to request them fixed, and get slapped with a big "well, help fix them, then, it's open source!" Part of the problem there is most of the users will not be programmers. Finding people who are both artists and programmers is a little more difficult than finding programmers that would use Mozilla. And generally you will want the ones that aren't great artists, since the great artists generally are not great programmers. Again, that's generalizing, but one must take statistics into account.
The point then would just be to get as many people in on it as possible with the hope that the .0001% that actually have something to contribute (you know, a couple fingers and part of an ear of some person) can contribute.

I am somewhat rambling and just jotting down thoughts here, so I apologize for that. If someone can make sense of it, please do.

Another comment would be the documentation and translations. While programmers who would be interested are hard to find (I haven't found any), finding people interested in writing documentation or translating the program is perhaps a little easier. I was considering the Wiki notion of doing documentation, just to get something community driven and easy to work with. It helps share the load of doing stuff, and one could easily outline the different sections needed. I know absolutely nothing about Wiki, but from what I've seen, images are not commonplace, which is somewhat difficult for documentation about an art program, screencaps/images are a necessity. That's a technical detail, but if anyone can get me input on that, I'd appreciate it.

So, I think that's about everything I wanted to say. Since my Internet is currently paid by the KB, I haven't done a ton of research on this, so all you Google lovers, cut me a little slack this time. ;-)

To sum up in some questions:

Is open source worth the effort? Anyone with personal success stories in open source?
How much work does one do in setting something up as open source? Anyone crucial components or web site stuffs suggested for such an ordeal? (I really do not feel like going through the crap of sourceforge and being lost in the madness, I will likely just run everything off my own server/site.)
Is the legal/licensing crap a big deal? I mean, do I seriously need to worry about people taking advantage of the open source-ness? (IE, repackaging the program and selling it would be a concern.)
How do you get people interested/motivated? Is some type of promotional bit worth the trouble?
Bother with donations, or is that just making things more complicated?
Wiki? Bugzilla? CVS? I have never used any of them (cept cvs on school server, hate it)---are they really necessary?

And on a side note, if anyone is personally interested in this project, let me know!

So thanks in advance for any input,

Marcello

p.s. gotta go, so too lazy to proofread the entire post right now, will when I get a chance >_<

Inphernic
Member #1,111
March 2001

Quote:

Is the legal/licensing crap a big deal? I mean, do I seriously need to worry about people taking advantage of the open source-ness? (IE, repackaging the program and selling it would be a concern.)

Try Creative Commons (example).

Quote:

Wiki? Bugzilla? CVS? I have never used any of them (cept cvs on school server, hate it)---are they really necessary?

Wiki wouldn't be a bad choice imo for an information channel and documentation. I would assume it requires little to no administration after it has been set up (haven't set up any yet), save for some occasional moderation.

Bob
Free Market Evangelist
September 2000
avatar

Quote:

Anyone with personal success stories in open source?

Sure!

Quote:

How much work does one do in setting something up as open source?

Obviously it's not a zero-overhead thing, and SF is a pain, but quite usable in the end. I've used both my own setup and SF, and I'd much rather have th SF folks take care of the admin stuff (as I just don't have the time to do so).

Quote:

How do you get people interested/motivated? Is some type of promotional bit worth the trouble?

It helps when your program fills a niche. If you have the only program that fills in a particular need, then it's automaticaly the best (and thus can be advertized as such ;) )

--
- Bob
[ -- All my signature links are 404 -- ]

axilmar
Member #1,204
April 2001

It's not that the licencing system is the problem or anything else. There are two reasons for people not wanting to co-operate or contribute to an open source project:

a) the project offers them nothing in terms of publicity and fame
b) everyone wants to be the next Bill Gates

Aharon Hillel
Member #3,980
October 2003
avatar

Bob said:

Quote:

It helps when your program fills a niche

I think when you have a program that stands out and fills a niche, it's time to go commercial.
We all remember the guys from ICQ, right?

I put a lot of work to have GALVADERS project on-line. These pages have the complete source and game engine of the game and I'm still not sure if anyone ever going to use this.

I think that what one needs to consider before going open source is one of the following:
1. He may want to go open source because he is motivated to contribute to a certain community.
2. He thinks that his project may get attention from people that may open some doors/start co operation with him.

There could be more reasons, but that what I have for now.

So to make thing short, you need to consider if your reasoning to go open source is strong enough, or motivates you, to handle the overhead.

nonnus29
Member #2,606
August 2002
avatar

Aharon Hillel is right in that it sounds like you have the dominant product in a niche so it would be a VERY good candidate for opensource. Commercial, I don't know. Its already been hacked once and applets are notoriously easy to hack. So fighting hackers would be a huge pain.

So are there any coders in the 2draw community that would be interested in helping out?

Thomas Harte
Member #33
April 2000
avatar

Quote:

Is open source worth the effort? Anyone with personal success stories in open source?

The second time I'm posting about it today: my Acorn Electron emulator, ElectrEm has been GPL open source since 2000. The main reason I GPL'd it originally was so that UNIX people could build it themselves and I didn't get trapped in the quagmire of different libcs and kernels and so on.

Until very recently, the main effect this had was a few patches to Linux support. However, over the last year I've pretty much abandoned the old labrythine source and moved to a very clean new model. Perhaps not coincidentally, someone has just contributed the small changes necessary for the first working Mac OS port (mostly to do with using the Finder).

I've no idea how many users there are, but there are 64 members of the mailing list and of the two mirrors, the website with a hit counter is at a little over 61,000 since some time in late 2000.

My software is hardly about to take over the world, but personally I consider this a success, and being open source has tangibly added through the new Mac OS port.

Quote:

How much work does one do in setting something up as open source?

As my main motivation was to aid UNIX builds, all I did was chuck the source into a bundle and upload it. In those days I was doing much more work myself, uploading binaries for DOS/Allegro, Windows/DirectX, Linux/SVGALib and Linux/GGI. The build system was contributed, and continues to be updated by someone who isn't me, as I play with source directories, etc.

Nowadays the code only targets SDL, and I only build a Win32 version. So, proportionally the effort of open source has grown, but it is still minimal. I just incorporate patches by hand as they are sent.

Quote:

Is the legal/licensing crap a big deal? I mean, do I seriously need to worry about people taking advantage of the open source-ness? (IE, repackaging the program and selling it would be a concern.)

Not really a big deal. As with all law, properly protecting your rights is only an issue if someone tries to exploit them and in the case of an emulator I'd think most people who would see a CD advertised would be perfectly capable of using a search engine. In any case, as I use GPL, selling my program is perfectly possible. It's been on several coverdisks and had a couple of mini-box outs in magazines, so that is a good thing. Nobody has once tried to claim it as their own work, so I haven't really had any problems.

To be honest though, I don't think I would care. The only thing that would affect me would be if someone somehow managed to usurp me from working on it, but that obviously isn't legally possible as I would always have the source and now have absolutely loads of evidence that I've been working on the source for a while including witnesses and computer logs, etc.

If I'm absolutely truthful, I never believed anyone would pay for my product and so had no reason to protect the source. So I applied my old fashioned liberal laissez faire opinions!

Quote:

How do you get people interested/motivated? Is some type of promotional bit worth the trouble?

Mine was the first emulator of the machine in question, so I think of it as a simple question of marketing a new product to an already interested audience - i.e. those who had the real thing way back when. I just made announcements to all the emulation sites and a couple of relevant mailing lists. Since then things have picked up gradually.

I also invented a new file format for my emulator, filling another unfilled niche (i.e. accurate tape images for Acorn machines), which is slowly being adopted by other people. That brings people to the web site to see the spec, so I guess that acts as a form of promotion.

Quote:

Bother with donations, or is that just making things more complicated?

I've received a couple of donations over the years - a copy of MSVC 5 that I used before I got 6 for myself, and recently someone has offered to buy and ship me the new PSU I need for my PC. I don't have a donations button on my website or whatever.

Quote:

Wiki? Bugzilla? CVS? I have never used any of them (cept cvs on school server, hate it)---are they really necessary?

I just do it by hand, but my source is really very clean and compartmentalised nowadays, so this isn't hard. I expect CVS/whatever would be easier if I had a damn clue how to use them, or a server to run them on.

Gideon Weems
Member #3,925
October 2003

Grandma's calendar said:

To the world, you may be just one person, but to one person, you may be the world.

?

Daniel Sauder
Member #4,762
June 2004

No question, there are great open soure programms (mingw, make, vim, a lot more). But I often have the problem that when I found an open source programm for my problem it works not like it is explained in documentation, the feature I need is not yet implemented (although it was in documentation) or it has no doumentation and it takes hours to find out how it works.
Don't get it wrong, I use a lot open source stuff, but sometimes it gets me crazy... a good example is Linux if you wannna use a prog that isn't available as a package for your distribution or there's a new version.
Dan

X-G
Member #856
December 2000
avatar

Quote:

But I often have the problem that when I found an open source programm for my problem it works not like it is explained in documentation, the feature I need is not yet implemented (although it was in documentation)

I've used Open Source programs extensively for years, and I have never run into this (docs saying a feature exists when it doesn't) even once. Care to give examples?

Quote:

a good example is Linux if you wannna use a prog that isn't available as a package for your distribution

What's so difficult about downloading a tarball and compiling it yourself?

$ tar -xvzf i.am.a.program-1.0.tar.gz
$ cd i.am.a.program-1.0
$ ./configure
$ make
$ make install

--
Since 2008-Jun-18, democracy in Sweden is dead. | 悪霊退散!悪霊退散!怨霊、物の怪、困った時は ドーマン!セーマン!ドーマン!セーマン! 直ぐに呼びましょう陰陽師レッツゴー!

Daniel Sauder
Member #4,762
June 2004

Quote:

Care to give examples?

No, once I wanted used a neural net lib with a friend for MS .net, the computer crashed everytime. Think it was Joon or s.th.
If you have years of experience with Linux, compilers, libs, make, and so on it is surely a lot easier as for a newbie. Maybe I don't have enough experience, but it's frustrating...
Dan

X-G
Member #856
December 2000
avatar

I can't seem to find the application you're referring to. Even so (assuming that you're right), that's one single example of a project having misguiding documentation, which also happens to be open source. I can't see how that's representative of any software, open or closed; it's just one bad piece of software (or rather, documentation).

Trust me, it doesn't take years of experience to memorize those five lines of commands. :P But really, if you're not comfortable with computers, programming etc, Unix is not really for you. Not today at any rate.

--
Since 2008-Jun-18, democracy in Sweden is dead. | 悪霊退散!悪霊退散!怨霊、物の怪、困った時は ドーマン!セーマン!ドーマン!セーマン! 直ぐに呼びましょう陰陽師レッツゴー!

Daniel Sauder
Member #4,762
June 2004

I don't use Unix because it is overloaded with features and I don't need them. It takes me to much time to do thinks that are done faster under Windows, altough it has it problems too. If you want you can say that I don't have enough knowledge of computers...
Dan

ReyBrujo
Moderator
January 2001
avatar

An open source solution might be what you need if you don't have time to continue developing, you have ran out of time/willingness, or you just do not know what to do next.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

Marcello
Member #1,860
January 2002
avatar

My reasoning for opensource is probably mostly to keep the project alive, and accelerate its development. In theory something can only improve if it's opensource, right? It's not doing a heck of a lot sitting on my HD.

What worries me though, is all the examples of opensource things here are for programmers. Ok, take libraries, such as Allegro or AllegroGL, those are made by, for, and only for programmers. It's only natural that a programmer will contribute to it so they do not need to reinvent the wheel themselves. They are working with the library and if it doesn't do quite what they want, they can improve it and submit the patches, or whatever. Same goes for applications such as mingw, vi, mozilla... they're essentially written by and for programmers---even mozilla is for programmers, everyone else just uses Internet Explorer. Looking at opensource programs more similar to my own, that is, slightly design/art oriented, such as The Gimp or blender 3d. They suck! All the good program designers aren't working on these things for free, that's just what I see...

Now, I'm not trying to bash the opensource community, I am just stating it how I see it, and wondering if that's how I want to go or not...

Marcello

ReyBrujo
Moderator
January 2001
avatar

That is only halfway to the truth. The developers will download, try, bug fix, add features, etc, but it is just the skeleton of the program. A graphic designer is needed to get a good interface, and usually programmers don't really care asking a designer to make a good UI. So, Blender, Gimp, and all others projects open source with good potential but too difficult to use are that way basically because the programmers did it the best way they could, but never asked a designer to make a few sketches.

Or worse, they did the sketches and the programmers modified them to fit their own interests.

--
RB
光子「あたしただ…奪う側に回ろうと思っただけよ」
Mitsuko's last words, Battle Royale

BAF
Member #2,981
December 2002
avatar

you may need a `su - -c 'make install'` too.

But really, just read the INSTALL and README file, or justskim them,

Matt Smith
Member #783
November 2000

Quote:

Part of the problem with the open source on incomplete projects is there is a lot of work (commenting, documenting, organizing, testing, etc.) just to get the freaking project ready for open source. I mean, when it is your own little project, you know where everything is, the quirks in compiling and whatnot, but when you're asking other people to work on it, you gotta have something they actually can work on. All that initial work isn't a problem---unless no one actually does anything. Then you feel like you have wasted your time.

This is a pain, but it's also good programming practice just for yourself. Us 8-bit boys only even started commenting our code with reluctance. We only had 40 column screens, grotty keyboards and C90 cassettes. We were won over in the end when code size got way too large to juggle mentally.

For a library like JTablet, you would always have to produce a user's guide to the API, even if the lib is closed source. This may be easiest to do using one of the automatic systems like Doxygen, which will document your internal code too.

From my own experience with MAGE, nobody has contributed because nobody is trying to use the code yet, and they aren't likely to until I get them hooked on some of the apps that use it. Some of the apps I'm working on will not be open source, simply because I want to sell them, but I am still putting the same care into the clarity of comments and docs because they are useful to me, and possibly to my salaried minions when my empire is restored.

Talking of empires - your Java apps clearly have commercial potential for mobile devices, and this potential is probably best preserved by keeping the source closed. Phone operators are understandably paranoid about security.

Thomas Fjellstrom
Member #476
June 2000
avatar

Since you have a userbase already, and some who want to use it, it may be that there are people who are willing to help out, maybe post a call to your users asking this same thing?

Now for my question...

Some know I'm working on a GUI app, and I want to keep it portable, but I also want to shareware it. Using my favorite cross platform QUI api (Qt) rules out the share ware bit (I HAVE to open source, or pay the astronomical Qt licence fee). I tried wxWidgets, but it won't let me do what I want to do, so that leaves FOX and FLTK to try out for sure... Now, Id like to do shareware, but I suppose its not nesesary, I could just ask nice people for donations. I dunno. What you all think?

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Matt Smith
Member #783
November 2000

Donations worked nicely for Blender3d (ghastly though the GUI is in that).

Actually, that's a plan. Release the app first as closed source, and THEN offer to open it in exchange for lotsa $$$ (or €€€)

Richard Phipps
Member #1,632
November 2001
avatar

or £££..

Marcello: What you need are to find the smaller percentage of programmers who are also artists and/or designers.

I think only a few projects really get a lot of people involved in development. Sad to say.. :(

Marcello
Member #1,860
January 2002
avatar

I really don't need a lot of people, just more than none, if I got enough help to match all the setup, that alone would be worth it. When you get none, it's kind of even more demotivating.

Marcello

Go to: