How the Puppy project is run
July 23, 2007
I am writing this page so that anyone who gets involved with the project will know exactly where they stand and won't have expectations that exceed what is delivered. A few years ago, this project was just me, so it didn't matter. As time has gone on, particularly in the second half of 2006 and into 2007, a great many people have come onboard, in a range of capacities -- some are contributing to the development, some are testing, some helping with web pages, others helping out in the forum. Therefore, it has become important for me to clarify various aspects of how the project is managed and how it will be managed in the future.
Some of what you will read below is quite frank, and somewhat out of character for me to express it. Normally I'm just busy with the project, and sometimes I'm taken by surprise when a conflict or misunderstanding arises. I hope that statements here will minimise any future issues, and allow us all to just enjoy using and developing Puppy.
Project structurePuppy has never been run as a "proper" project, it has always been ad-hoc. There is no CVS/SVN server, no bug-reporter. For the last couple of years, new puppies have been released every 6 - 8 weeks, a hectic pace, and some would say too hasty for proper bug catching prior to each release. Right up front I would like to state that none of this is likely to change.
There is the appearance of chaos in many aspects of the project, but there is intelligence behind my choice to let everything run free. Developers come in and just let their heads go -- maximum creativity. I think that the end result speaks for itself.
For me, Puppy is a fun project. If it stops being fun, I will move onto something else. I don't have the motivation for more formality, and I find that trying to please many people is not good for the project in the long run. So I just do whatever I please -- I consider all advice very carefully, and often do follow it, but in the end what it comes down to is I decide what to do next in Puppy. There is no committee, no inner-circle. You may advise me, but I have no obligation to do anything that you say or expect. If you think I've done something dumb, well, that's just tough.
Possibly the hectic release schedule will slow down sometime, after all there are other things in life -- I want to go off fossicking soon (gemstones, gold).
There are currently several Puppy-derivatives, and one that is an actual fork -- Grafpup. Anybody is welcome to fork the project and manage it anyway they like. The thing is though, it isn't easy, an incredible amount of commitment is required. If you like Puppy but would like to see more formal management, Nathan, the developer of Grafpup might be interested. Good ideas in Grafpup will likely find their way back to Puppy anyway.
How to contributeOkay, the above outlines the boundaries of the project. Another issue is how to contribute? The answer to that is just get involved in the Forum, chat with others, get to know what's going on, find out what needs doing. It's very informal. Get involved in a discussion thread. If a solution is developed for some problem, or a new application, that you think needs to be in the next Puppy, send me a personal message via the Forum.
Or even test your own modified Puppy. Puppy Unleashed makes it very easy to build a custom Puppy, and many people have done this. Well, you don't even need Unleashed -- it is a simple matter to remaster the CD, except that Unleashed is best for more fundamental changes. Puppy enthusiasts such as MU and Ted Dog (Forum names) have setup sites for hosting contributed packages and custom puppies.
If you are a user and something does not work, maybe your wifi card, or whatever, do not contact me directly. Go to the Forum, create a new thread. I get lots of emails and personal messages from people with problems, asking me can I fix it -- well, I can't even acknowledge the message, there are too many of them. Go to the Forum. I am the person you contact when something is to be contributed for the next Puppy.
One thing I have noticed is that sometimes people feel ignored. Someone may have developed a program or something, but receive little or no interest, including no response from me. This is part of what you may have to expect in a very big forum. If someone has a problem, there are usually helpful replies, but I have noticed some people launch programs or projects and they are disappointed in the lack of interest. Something may be sent to me, hoping that I will use it, but i don't. Well, there's no easy solution here -- if you think that you have developed something worthy, then persist with it, remind me repeatedly if necessary -- I have been known to suddenly adopt something a year or so later.
Note, even I have a problem with getting feedback. I have often submitted something for testing and hardly anyone does. So if even I have that problem, don't feel bad if you do!
Concerning release schedules. I will usually release an alpha and/or beta before the final release. Usually though I am frustrated by a very limited number of people testing the alphas and betas, so I have to release the final so that more bugs get found. Fortunately bugs in the final release are usually minor. For example, I released v2.16, then some small bugs were found, so shortly afterward I released 2.16.1.
Personal disputesConcerning disputes between Puppy contributors. These may be personality clashes, which happens quite often on the Forum. Earlier this year (2007) there was a problem with a member clashing with a Forum moderator and/or other Forum members. The member felt victimised, and left the Forum and the Puppy project completely.
So, you have to realise in advance that getting involved in the Forum, any forum for that matter -- though the Puppy Forum does tolerate a wide range of viewpoints and off-beat characters, more so than some other strictly-moderated forums -- can result in some raised emotions.
It is most important to understand that the Forum has nothing to do with me -- I do not run it. The entire "Puppy community", which includes puppylinux.org (the wiki), the #puppylinux IRC channel and murga-linux.com/puppy (the Forum) is run by various volunteers. Any issues have to be sorted out with the people who administer those.
My area of responsibility on the web is puppylinux.com and distro.ibiblio.org/pub/linux/distributions/puppylinux (download host). Approach me about anything regarding those, but not anything else. There has been some misunderstanding about this in the past, and people having problems on the Forum or elsewhere have complained to me. I have nothing to do with those sites.
Note, I do own the domain name puppylinux.org, so I guess I can have a final say on what happens on it. But, I have no connection whatsoever with murga-linux.com.
Legal issuesConcerning the licencing of Puppy. Puppy is GPL, and has been for sometime. Awhile back, I went through all my scripts and made sure that they all had GPL notices in them. There are some closed-source but free apps in Puppy, such as Opera and the Flash-player, which is quite legitimate. The actual name "Puppy Linux" and my logos are copyrighted to me, which is also legitimate -- that is, does not contravene in any way the GPL licences of the applications in Puppy, or the overall "freeness" of the Puppy-project. If you come across anything on the web or Forum about licencing problems with Puppy, that concerns some of my scripts being copyrighted to me, but that is very old news, no longer valid.
If you do contribute anything to Puppy, artwork, themes, documentation, code, please understand that it will be classified as GPL. You can choose one of the GPL licences explicitly if you wish.
Wrapping upThis page has covered various contentious topics, to get everything out in the open. Now to get onto what really matters... having fun with Puppy. Approach this project with a spirit of light-heartedness, interact in the Forum in that manner. One thing you will find, Puppy is addictive like no other distro, and you will feel that enthusiasm very quickly on the Forum.