Community Involvement for an Open Source Project?
pfleming asks: "Several months ago I began a maintenance fork of some niche software. Essentially, these are PHP/MySQL scripts for real estate offices.
The original developer moved on to an incompatible version to what I was using. Upgrading for me and many other users was not the easiest option. Luckily the software is GPL'd and so continued work on the fork is not a big deal.
I have set up a site, made it available for download, announced the availability of the fork on Freshmeat and the forums for the original software. Now I have a few people subscribed to the project on Freshmeat, and a few on a mailman list set up for the project. This project has been listed on the GNU Website and other mirror sites but doesn't get much discussion on the mailman list and nothing from the Freshmeat subscribers. There is usually an increase in interest (indicated by a short term increase in site hits) when new releases are announced but this fades back to regular traffic of ~40 visits per day as measured by webalizer after a short period of time. Is this an anomaly? Should I be thankful that there aren't tons of bug reports and feature requests?"
What other thoughts does Slashdot have on this subject?"
"More questions for you to chew on:
- Is there more interest in a new project vs. one that is more or less mature?
- Is the project too narrow to attract an audience?
- Could the underlying business (real estate) just be too saturated with web sites?
What other thoughts does Slashdot have on this subject?"
This seems pretty normal. Any time you make an announcement on your project (including releases) you are going to drive traffic to its web site (that's why corporations pump out press releases). The fact that it dies down afterwards is totally normal, you'd expect people to come, see what's going on, download the stuff and leave.
Should I be thankful that there aren't tons of bug reports and feature requests?
Probably not. This might be an indication that the software is wonderful, but it's more likely an indication that the user base is small. As the user base increases they are going to find all sorts of weird problems (especially with different machine/OS configurations) which will get reported as bugs.
Is there more interest in a new project vs. one that is more or less mature?
I don't think new vs. old is as important as good vs. bad. If your project is useful and well executed then you'll get hits. Just compare Mozilla with any of the thousands of "new" projects listed on SourceForge.
Is the project too narrow to attract an audience?
I doubt that. Real Estate is a massive business world wide.
Could the underlying business (real estate) just be too saturated with web sites?
That's possible in any business, if your project had some uniqueness then the saturation will not be important. Getting the message out about your feature set will.
Just what are the secrets to a successful (measured by lots of contributors, etc) project...or am I just not defining success correctly?
I don't think number of contributors is the most important measure. How about number of people actually using the software? In POPFile there's a feature where it can report back (opt in) that it's being used, this gives me an idea of how many downloads converted into users. Another measure of success would be mentions of your project in the press.
John.
No. Because they are PHP/MySQL scripts for real estate offices. Calculate number of real estate offices in the US. Substract those that have a meaningful IT infrastructure beyond a few PCs to type and print contracts. Then substract those that use custom software. Then substract those that don't use an Office/VBA solution, or simply a Microsoft platform (and from my experience those are the majority). Then substract those that have actual in-house developers. Finally, substract those that use PHP and MySQL, specifically. Then add the number of people who create and sell software solutions for real estate offices based on PHP/MySQL. There you go, about 40 people.
If you are Apache, Perl, Python, GAIM, etc, etc. then yes, it's an anomaly. What you're seeing is about right, considering it's a pretty narrow niche. People won't get excited about something just because it's listed on FreshMeat and is GPLE'd. There are one-liner bash scripts there with wider audience than your code.
But I don't see what you're worried about - that's how it works. The fact that its released will eventually help someone out. Just don't expect Yahoo-sized traffic.
you should've linked directly to your project from the slashdot post. (We all know that slashdot is really just a front for the real estate mafia.)
You can't judge a book by the way it wears its hair.
Samba-tng forked off of samba quite a while ago. The user base using tng is still very small. There is a flurry of people checking it out each time a new release comes out (Which lately has been due to security problems in both code bases).
The user lists are fairly slow, and there are a few developers on the dev lists. The development is still highly active, but the purpose of TNG isn't as important to most people as the functionality and features of Samba it self. The people who need to the changes made in TNG, will go to TNG. However, the vast majority of people don't need anything beyond what the base Samba 2.x or 3.x code has.
Then again.. I would also say, most people haven't checked out the rad features included in rpcclient with tng.. which makes pen testing windows extremely easy.. Oh wait, so does dcom.
Yes, you should be. And, you should be thankful that SCO hasn't gotten a hold of your code yet...
20 mil and I will! Learn Esperanto with 20M others.
It seems likely that the project is Free Realty.
John.
For those interested, here's the link to the Free Realty project.
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
I help develop and maintain a project for computational structural biology, and our project stats look pretty similar to yours. We release, see an interest spike, then it dies down.
Factor in that you're in a very niche market -- real estate offices who have the need for a dedicated software package, who know enough about computers to use Linux/PHP/Apache, and who don't have in-house developers. Then, consider that you're not actually maintaining the original project, but a project that branched from the original so that users won't have to upgrade. It doesn't leave many interested users.
This is part of the justification behind "release early, release often" -- the more you release, the more hits you generate, and the more likely you are to find interested users. All the same, don't expect to get the hits of the next big RPG platform or internet chat application. The users just aren't there.
Let's try not to let fact interfere with our speculation here, OK?
I wrote some SQL scripts and noone has clicked my pay pal link. What am I doing wrong?
I don't need no instructions to know how to rock!!!!
You have to let people know the project exists. Simply listing it on freshmeat won't get you much, as I know (I've listed a couple of projects there). My site gets practically zero traffic from those listings.
There are a couple things I've found that help. First, find a discussion group focused on a subject relevant to your project, and mention it occasionally when it becomes relevant to the discussion -- this gets you kickstarted, but it's not a long-term solution. Second, you might start some kind of blog on the site, so that people have a reason to follow your progress. Rant about the state of the real estate market or something. This is the long-term solution.
I've done both of these things, and eventually they get you a lot more traffic than freshmeat ever will. The more traffic you get, the more likely that someone will link to your site, which will raise your google ranking, which increases the amount of traffic you get, which starts the whole feedback loop all over again. You just need to focus on making sure that your visitors have a reason to link you once they're there.
I too maintain niche projects, some bigger than others, some more popular than others. Here's how I understand the dynamics of a community around a projects. You have 3 cases :
... i.e. bits of work done not by you, but you still end up integrating the changes and act as the only maintainer of the project.
1) your project is too specialized, you have a smallish community of people who use it, few bug reports now and then, and you end up doing all the work on your project.
2) your project is interesting enough that the community around it grows to a point where most of the improvements come from patches, bug reports
3) your project is very interesting and the community around it grows exponentially. The improvements / bug reports flood you and, essentially, your own bandwidth is not enough to maintain the project. You have to delegate and trust other people, in which case A) you're a shitty project manager and someone else who has that talent eventually makes a code fork and takes it over, or B) you become a successful OSS project maintainer, the extreme case of which, for example, is Linus.
The added fun is that, if you code well while you start the project, it can go from a shitty thing to something of interest, just because the look-n-feel that detracted people from trying it before now attracts more people. That's where all the interest is, see how you can "prime the pump" and build a community around your ideas by doing the initial work, then watch the improvements come already made.
I personally choose to create/maintain projects that I reckon will fall in or near category 2), because I don't want to maintain big projects anymore, with the flood of patches, suggestions and hate mail that comes with it, but I don't want to end up having my name associated with a shitty tarball that nobody cares about either.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
As for being thankful about not having bugs and feature requests, well I suppose it depends on your outlook. I can imagine you're the only person who can answer it you. Coding for your own sake? Then it's probably good, you can set your own direction without any monkeys on your back. If you're coding for the glory, well, perhaps a broader choice of topic might help. ;)
What the guy needs to do is get a few RE offices up and running with the software and get those RE agents to talk to others about it. In addition there are specialist RE web sites where RE agents could discuss the project and hence get more coverage of his project
;-) Then when the next people try it they will have an easier time :-)
Yes, but the important part here is that by helping other people impliment this you *will* discover quirks/bugs/out-of-spec behavior in your project. The quality will improve greatly and you will soon have another, better release
LedgerSMB: Open source Accounting/ERP
A month ago I did a whole bunch of work for a real estate agent in his home office, making hardware and software upgrades, etc. I have seen the multi-listing and real-estate specific database software that they are using, and while based on some ancient code, it was very powerful, very polished and good, and from what I gather, the software from this company is quite entrenched in the real estate business.
I installed and setup systems using Agent Office/Online Agent and for the Lightning 2000 mls service, which essentially seems to be a very fancy terminal emulator. screenshots here They have been buying software from this company for FOURTEEN YEARS. You're competing against some big guns I think. The best thing you've got going for you is that these softwares are quite expensive, due to the fact that they are niche softwares, and that there is a lot of money in real estate. If you can offer a better real-estate -specific database at a lower price, maybe you can compete, but it had better convert and import the database they already have.
Dylan is a wonderful, elegant, extensible language that really puts Java to shame. Usually when there's a programming language article on slashdot, people end up describing their dream language... and it usually what they describe matches Dylan quite well. But still it's very hard to attract new programmers to the language.
It's a great compiler, and a team using it earned second place in the 2001 ICFP Programming Contest. The compiler is still being improved, but in all honestly, there's just a few dedicated volunteers working on it.
I don't know how to explain it's lack of "success", except to note that few geeks are really geeky enough to stray away from the mainstream languages.
Buzz is when other people say good things about you. Hype is when you try to inflate activity by going about it yourself.
I prefer buzz. My own software projects are posted on my web servers and have plenty to offer to those who find them. Someone eventually wanders by, sees it, likes it, then mentions it to someone else. Many of these mentions happen on Usenet or mailing lists that get archived. Now people searching for certain terms will find those posts that link to me.
Eventually, people who run directories like dmoz will get a hold of it and index it somewhere. This will get even more people coming by. Over time, you'll build a base of users who have it installed and stop by once in awhile to see what's new. Having a moderated mailing list that does nothing but announce new releases helps a lot.
This is not an exaggeration. I have a project that's gone from rather small to pleasantly healthy in the space of about 5 years. To give you some idea of how long ago it was, I posted my one and only direct reference to it here on Slashdot before you had to log in. Back in those days you could just put in a name, u@h, and URL, and it would be attached to your post.
You also have to realize that some projects are not going to have a very large audience. Unless you happen to address the needs of many, don't expect a whole lot of activity. Those who find it will appreciate it, but the rest simply have no use for it. That's life.
By the way, you can probably get by without appearing on Freshmeat constantly. My own projects have only had a couple of announcements on there, all due to someone else. None of those people really stayed with it, so the last version is stuck at something from a year ago. I don't operate on the basis of updating other web sites, so it's not going to be maintained by me, either.
Well, that was a blindingly generalised statement wasn't it.
I am neither hugely wealthy, nor am I some bored college student. I am work five days a week and have a wife and kids and yet I am developing my own project under the GPL.
The reasons people write Open Source software vary greatly from having an itch to scratch to altruism to sticking it to the man.
Well undoubtedly his hits are about to increase a tad bit...
The original developer moved on to an incompatible version to what I was using. Upgrading for me and many other users was not the easiest option. (...) Should I be thankful that there aren't tons of bug reports and feature requests?"
Is it possible that the majority of your user base aren't really that interested in new features, but basicly want to keep the (well-working) system they have, just as you did? On the same note, isn't it also likely that those that are happy with the old product are also mostly the same that haven't been bitten by any major bugs?
To me, the situation seems pretty normal for a system that is in more or less "maintenance" mode. Now, the question is if that is what you want it to be, or do you want to start new development based on this platform? If it's the latter, you'd have to work rather intensely to argue for why going away from that system (to an incompatible one) was a poor decision. Many developing new features subscribe to the idea that to make an omelet, you need to break a few eggs...
Kjella
Live today, because you never know what tomorrow brings
Open Source, like anything other business, requires Marketing. You need to do market research, advertise your product, and most importantly, get customers.
Find out how to make money from your software. If you can't, is it a worthwhile hobby?
Finally, what is your business model? Are you going to be a consultant or sell the software or both?
If you're going to sell the software, consider moving to a different platform, like Java or .NET. PHP scripts are a hard sell. When Zend gets their act together and...
- Developes a stable (as in not breaking previous code with almost every release) platform
- Improves performance
- Makes it easier to interface your script with other applications
then PHP would be a good sell.The most important thing is that it is useful to you.
I recently listed a project on freshmeat as well as posted information to usenet newsgroups where some will find it relative and interesting to the newsgroup.
The description was edited by a freshmeat editor and could probably be written differently to attract a little more attention. But this project is not going to die, cause I won't let it... Cause it's useful to me, and that's the most important I can think of.
projects smaller than "large" usually consist of one-three maintainers, some 3-4 "minor contributors" who supply hints, bug reports, small handy hacks and good ideas on irregular basis, several "fans" who look for updates, sometimes report bugs or help newcomers by answering questions, and besides that, small, regular flux of visitors who come, maybe ask a question or two, look, eventually download and go usually without ever saying thank you. I've seen that with several projects I participated in, as such "fan" or "minor contributor". From time to time some fan or minor contributor leaves, sometimes a new one finds it and stays. If the maintainer leaves the project though, it dies quite quickly, unless someone else decides to take over and continue the work. That doesn't happen often though.
:) 3) No suggestions, ideas, patches - probably the design is so good that nobody feels need for these.
:)
:)
Look at this from positive side. 1) 40 visitors a day, means maybe 1-4 new sites using your software. 2) No bug reports - probably no bugs so that's very good, isn't it?
(of course it could be opposite, after first look people discard it and never think about it again, but...
One of good ideas to "exist" on the market is to package your stuff for some major distributions and try to include it - even if not in core of one, then at least in official software archives. So crazy people like me, who look through all packages dselect displays get to notice it
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
Most people don't want the best piece of software available for a problem. They want software which is good enough. Once they've found something which is good enough, they'll probably stay with it, even if better options become available.
To take a personal example, bsdiff is a tool for generating binary patches (in particular, for upgrading software). It is measurably and quantifiably better -- that is, it produces smaller patch files -- than any other software available, both free and commercial (eg, $2750/seat). Despite this, the only place where I'm aware of bsdiff being used is in another project of my own (FreeBSD Update). Most people found a tool which was "good enough" for their needs a long time ago, and aren't going to change now.
Tarsnap: Online backups for the truly paranoid
Well anyway, if you really want to attract more attention to this project, here are some important things to consider:
Real estate people mostly don't get the free as in freedom of speech and/or free as in beer concepts.
Want to get their input? Sell the thing, it's still open source, and you're not going against the GPL and should be able to keep your pages at Freshmeat, GNU.org and SF (if you do have a project site there).
Know how to pimp your project... When targeting RE agents, showcase the commercial features... When targeting coders, showcase the technical features (like plugins/modules, themes, some sort of data extraction layer, etc. etc.)
Most importantly give incentive to people who contributed code/fixes.
Welley Corporation - SLM Scammers
The problem is really the market and the functionality that the software provides. Yes real estate is a huge market but it is dominated by two types of brokers: 1. Small brokers with less than 5 agents. 2. large offices with hundreds or thousands of agents.
The small offices usally get free or very cheap web sites that contain listings from the MLS's (that is that database where all listings in a market are stored). These people could be a potential market for you but they are not going to contribute anything to the cause either in code or money.
The large companies have the budget to put these sites together using a staff of developers and web designers. The developers and designers that create these sites might use your code as as starting point and may or may not contribute to the project.
The other problem is the functionality of the software. It is very easy and inexpensive to create a web site that displays property listings. What people need in the real estate industry is a system that will save them time and reduce the number of times they need to enter property information in to all their systems.
These types of systems are what my company creates and we have been talking about open sourcing our apps. Feel free to checkout our site and contact me if you are interested in working together on extending your product with more functionality. www.datixres.com
I've run into the same thing as you. I wrote an open source issue tracking system and didn't get a lot of feedback either. I've had about 12000 downloads over the past year but probably less than 20 real bug reports and even less feature requests. I've tried the freshmeat, sourceforge, google, and forum routes and it doesn't change much.
:)
I'd love to find a good way to attract more user participation, mainly because I'd like to improve the product for my own use and I've found that other people tend to give me really good ideas for features, when they aren't bogged down in the actual coding like I am.
It is difficult to even get people to tell to drop by and "vote" in an online poll to tell me their environment so I know where to focus my efforts to get the most benefit to the community.
One good thing about writing my own software though is I'm much more likely to write to an author of an application I use to thank them, or drop by a forum and let them know I use it. Heck I'll even write bug reports now
As one who have fostered more than 150 open-source projects on Freshmeat - no I ain't the author for all of them, just find 'em and then list 'em on Freshmeat in the hope that the worldwide open-source community will somehow be enriched by the wider selection, I can tell you that unless your project is really, _really_ address a large segment of the public at large, the "flow" of enquirers will slow to a trickle - sometimes, even to 1 or 2 per day.
One thing that I've found, on my experience on fostering the large number of open-source projects on Freshmeat, is that the projects that release more often will get more attention from the visitors/users and those projects that didn't get much upgrades will slowly "die off".
On some of the projects that I fosters, there isn't any mail list activity at all. Either the software is so perfect that no one asks for new features or reports any bug, or nobody cares enough to post any question at all.
It's the real world out there - even Open-Source projects have to COMPETE for the attention of the users.
I've communicated with some of the projects' authors, and I can tell you that there are some those who really care about how others feel about their "babies" - and respond very quickly to requests/reports - but then there are those who think they are better than the users and never care to address any complaint/suggestion.
Well
And to your project - I've not visited it, so I have no idea what's it about - perhaps you can find the following ways useful to increase the participation of your users
1. Make your project more useful to more users - perhaps by adding features that they request (which may mean making your project a bloatware, it's a trade-off).
2. Be proactive and not wait for the users to ask questions - get feedback from the users by asking them what they think of your software, and how it can better serve them, etc.
3. Advertise your project as wide as possible, use all the available means - UseNet, MailLists, WebForums.
4. Perhaps you may consider making "plugins" for your projects, and in this way you can "slim down" your core program, in the meantime you can tailor your project to the needs and wants of different users.
5. Put out updates, bugfixes and new feature announcements as often as you can. And remember to notify your users about the latest features.
6. Please be gentle to the users - I've seen some of the abusive authors berating users for no other reason except their own ego trip.
I am sure there are other nice tips available, and I welcome anyone to add to my comment here.
Thank you, and good luck !
Muchas Gracias, Señor Edward Snowden !