Anyone involved in any opensource projects? Or have been?

Not for 'how-to' coding questions but PHP theory instead, this forum is here for those of us who wish to learn about design aspects of programming with PHP.

Moderator: General Moderators

Post Reply
bg
Forum Contributor
Posts: 157
Joined: Fri Sep 12, 2003 11:01 am

Anyone involved in any opensource projects? Or have been?

Post by bg »

First off, sorry if this is in the wrong forum, but I thought the general section might be a little uhh, too general. This question pertains primarly to php projects. Anyway, I'd be interested in knowing if anyone reading this is involved or has been involved in any opensource projects, and if so, which. If not, have you ever considered it?

I have been working on a project for a while now and I'm getting to the point where I'd like to opensource it (gpl) and get together a team of contributors. Any advice is welcome from people who've done it before. Also if anyone's interested, I can give a detailed writeup of the project.
User avatar
MrPotatoes
Forum Regular
Posts: 617
Joined: Wed May 24, 2006 6:42 am

Post by MrPotatoes »

actually no. not yet. i am making a closed source proprietary CMS currently but i was going to add thing in there where it calls EXEs and after i get alof of that functionality in i'd like to opensource the actual PHP. the only thing is that i still want to make money off of it. so i'd sell tech support and installations and other things of that nature. i'd like to do what firefox did. still be able to make cash even tho it's open source.

i'm a little money grubby like that but when you make as little as i as a developer you end up wanting the cash. wishes and hopes don't pay rent
User avatar
AKA Panama Jack
Forum Regular
Posts: 878
Joined: Mon Nov 14, 2005 4:21 pm

Post by AKA Panama Jack »

Points to signature. 8)

Pcreating open source modules for various online games over the years like Tribes and Unreal Tournament. :)
Last edited by AKA Panama Jack on Thu Jun 08, 2006 10:40 pm, edited 1 time in total.
Roja
Tutorials Group
Posts: 2692
Joined: Sun Jan 04, 2004 10:30 pm

Re: Anyone involved in any opensource projects? Or have been

Post by Roja »

bgzee wrote:Anyway, I'd be interested in knowing if anyone reading this is involved or has been involved in any opensource projects, and if so, which.
I've been involved in The Kabal Invasion, Blacknova Traders, CompWebChess, CSS Grapher, WorDog, JOMPT, adodb, Smarty, and Next Forum.
bgzee wrote:I have been working on a project for a while now and I'm getting to the point where I'd like to opensource it (gpl) and get together a team of contributors. Any advice is welcome from people who've done it before.
1. Have *one* form of communication. Having forums, and mailing lists, and IRC chats, and other forms *seems* like a welcoming gesture, but it results in no central location to keep up to date on development. Worse, you'll end up with some developers on one, but not another, discussing the same thing, but not with each other.
2. Have a clear method for submitting bugs, and resolving them.
3. Have published coding guidelines so people can interoperate without arguing about tabs v. spaces (and yes, it matters quite a bit).
4. Release early, release often, but better yet, keep a functional SVN/CVS tree as much of the time as you can. It encourages you to make your changes atomically (keep most of the code working), and allows new developers to jump right in.
5. Have a clear method for voting/deciding issues. Whether its "benevolent dictator" style like Linux, or by committee by Debian doesn't matter. Just have a method, and be consistent in using it.
bgzee wrote:Also if anyone's interested, I can give a detailed writeup of the project.
Always interested in new opensource projects. Spill the beans!
User avatar
Maugrim_The_Reaper
DevNet Master
Posts: 2704
Joined: Tue Nov 02, 2004 5:43 am
Location: Ireland

Post by Maugrim_The_Reaper »

I work on two open source games: Quantum Star SE (which is undergoing a rewrite), and Protoshell. QS is in PHP, Protoshell is leaning towards Java. I've been on the open source circuit for 3 years, but most of real effort I put in in the last year since I've had more time. I hope to get involved in at least one other project before the end of year - either PHP or Java.
1. Have *one* form of communication. Having forums, and mailing lists, and IRC chats, and other forms *seems* like a welcoming gesture, but it results in no central location to keep up to date on development. Worse, you'll end up with some developers on one, but not another, discussing the same thing, but not with each other.
I'd qualify that into two sections - Developer Communications and User Communications. Developer need one central forum (whether a BBS or mailing list) which should be public. In an open source project it usually pays not to keep communications private - if they're private people will simply assume the project is dead, or too secretive to bother with, or worse, you don't want their input. It discourages user participation.

User Communications is more difficult. I'd recommend a few lines of communications, at a minimum a public forum (not a mailing list which is perceived as old fashioned by the younger crowd), a bug tracker (Mantis is a nice simple PHP bug tracker), and several mailing lists specifically for accepting patches or private bug reports (usually security issues). Also nice is having a nightly CVS/SVN build of your app (users often dislike learning a versioning system and client when all they want is your cutting edge code). Heavily disclaim such builds as unstable and possibly unworkable - some users don't mind a little leg work to patch it up and test it out. News is essential - make regular news updates for those not regularly visiting the forums. I suck at that, and rely on my blog far more...#

On the above - set them up early. As in before you do anything else. There is nothing more sad then a project with a bunch of code in a CVS repository and no website/forums to visit. Personal email will only get you so far.
Sphenn
Forum Commoner
Posts: 48
Joined: Sun Jul 17, 2005 8:08 pm
Location: Winnipeg, MB

Post by Sphenn »

If you're looking for some quality advice about running an OSS project, I recommend you read this online book. It covers many topics that'll appear as you start your project, and as it begins to grow.

Sphenn
AngusL
Forum Contributor
Posts: 155
Joined: Fri Aug 20, 2004 4:28 am
Location: Falkirk, Scotland

Post by AngusL »

I usually try to look over the code and offer some suggestions/bugfixes of any OSS project I use. Other than that, my operating system is Public Domain (although currently in the complete-rewrite-of-the-complete-rewrite stage :P).
bg
Forum Contributor
Posts: 157
Joined: Fri Sep 12, 2003 11:01 am

Post by bg »

Thank you for the advice, all very good and will definatly keep in mind. Especially the communication thing. Now for a description of the project.

It is an ajax OS. It is nothing like the other ajax OS's out there, in that it tries to replace or mimic a desktop OS. It's goal is to act like a platform or framework for programmers to create ajax applications in a neat, clean package (think of it as an executable). It is actually put together in several different layers, entirely object oriented, and easily extendable. At it's base is the kernel layer, which it completely independent of any ajax functionality, and which can be implemented in any form, whether its on the web or the CLI. The kernel's primary responsibility is loading and managing drivers. A driver, for example, could add database functionality. It is a driver in which the server side ajax functionality is placed. Each ajax application would be packaged neatly as follows:

An ajax application object (inhereted from the ajax_application abstract class)
a web visible folder, containing any supporting css and javascript, so that it could be cached by the browser (more on this later)

On the client side, we have a base js script which is responsible for facilitating asyncronous communication with the server, as well as to dynamically loading javascript and css as it is instructed to by the server, in a way that it is still cacheable by the browser. It is very important to me that the client remain as bare bones as possible and grows as needed. The server would feed the client css and javascript as required by whichever application it was running. Keep in mind, a single web page could run multiple ajax applications. A web page running more than one of these applications would essentially be a mash up, which i hear are all the rave these days.

Some people may think that using OS terminology is overkill for a PHP project. What I realized, however, was that since ajax changes the way we think of the web page, in that it is more of a desktop application, we need to think of the server differently as well, in that it is more of an operating system, and that it should be designed and modeled more like one.

For those interested in seeing the source code, I will open up my SVN server to the world within the next week or two and let you go at it. The timeframe will be short as I am on a humble DSL line and I dont have a static IP addy. But we'll get around to that when its time.

Please, post any questions. I'm sure I was not thorough enough and there is plenty of room for clarification.
bg
Forum Contributor
Posts: 157
Joined: Fri Sep 12, 2003 11:01 am

Post by bg »

One quick clarification: An ajax application built on this OS could be easily integrated into any ol' static web page. Essentially it would just include the base js and have a way to contact the server, whether through an onClick or onLoad method somewhere on the web page. Simplification on the client end is very important. Anyone with very basic html knowledge should be able to "install" an application on their website.
Post Reply