Ask Slashdot: Aging and Orphan Open Source Projects?
osage writes: Several colleagues and I have worked on an open source project for over 20 years under a corporate aegis. Though nothing like Apache, we have a sizable user community and the software is considered one of the de facto standards for what it does. The problem is that we have never been able to attract new, younger programmers, and members of the original set have been forced to find jobs elsewhere or are close to retirement. The corporation has no interest in supporting the software. Thus, in the near future, the project will lose its web site host and be devoid of its developers and maintainers. Our initial attempts to find someone to adopt the software haven't worked. We are looking for suggestions as to what course to pursue. We can't be the only open source project in this position.
"Fork" the thing on SourceForge or similar service. SYNC the repos and web pages there over the time while trying to gather collaboration.
Perhaps you can manage to get there what your company doesn't. At very least, this will guarantee the project's surviving when your company shuts the support down.
At very worst, you'll have a way to save the project's source code and documentation to posteriority when the company support ends.
In the mean time, you can negotiate a hand over to Apache, GNU or any other Open/Free Software Foundation.
Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
Depending on the type of software, you could try getting it into Apache, OW2, or others. Also fork it to github.
Could you be a little more specific about the kind of software this is about?
That might reveal why people shy away from the project.
Anyway, in general, keep in mind that maintaining software is boring and does not earn one brownie points.
Motivating people to write the software from scratch might work better.
In that case, make sure your functional specs are up to date.
If Pandora's box is destined to be opened, *I* want to be the one to open it.
On GitHub, you don't even need developers. The cloud does everything, through the magical miracles of unicorn sweat and pixie dandruff.
Sometimes, I wish there was a Slashdot rating of "Toxic" with a score of -1000
On saying that though, the original question is pretty crap - no details of said project given.
If you won't support it elsewhere, ask the community if anyone of them want to host/support it. It just requires an i.e. github account to host the code, and the key pieces of information of forums/wiki pages/etc could be move there by the community if there is enough interest.
In the end, if the project wasnt developed exclusively by your company developers, it belongs to the community too.
Since when have open source projects been about cloak and dagger? Name it, explain it, and Slash users can tell you what the best option is. As a general rule, you can stick it on Source Forge under a known license and promote it on Slashdot and it sinks or swims, but even if it stagnates, OLD CODE STILL RUNS and lives on past its developers.
The nature of open source is that you offer it to *everyone* under a known license, so if your user bases really uses it, they can have the code and maintain it themselves.
Yours wouldn't be the first software that has become abandonware. Users may appreciate the stability of an unchanging release. If it's distributed under a Libre license, then it can be forked and redistributed, but chances are that kids would rather make their own mistakes than work on your program.
Have a nice time.
You have a couple issues that you mention - but without knowing the software this advice is all I got for you...
"The mind is a terrible thing to, um, uh, oh bollocks." -- Me
Are you talking hundreds? Hundreds of thousands?
Maybe the project is not as big as the OP thinks it is since no one in that sizable user community has shown interest in contributing to it.
Many projects started with simple code and increased the complexity overs the years up to the point that less and less peoples are willing to learn it. A key to attract new developers is to split the project in smaller parts and let others take the maintenance of those smaller parts. Don't hesitate to use standard libraries whenever possible and don't hesitate to rewrite code to make it easier to read. Up to date documentation and tested tutorial on how to start coding for example an extension might be good advantage.
Close relations with distributions can be a source of new developers instead of a layer that isolate the project from the users. It's an advantage to directly maintain the project in a few leading distribution.
Probably a very important factor for attracting new contributors is how there idea are welcomed at there first post and how there are credited for there effort.
Users can look around and make choices.
The question asked is about community and developers, not the code per se.
In a similar situation, I have seen that the best method is to reach out to the user community. If the software meets a need, then there is money for developers. Perhaps reaching a group of developers that are still hungry for cash (non-US are not as rich) can get you the developers you need to survive.
Hot-shot young programmers aren't the only kind that can make a support group.
This means focusing on the stability of the community will be paramount to attract the stable motivated coders you need.
If the answer is zero you have found your problem.
I would suggest you give the project a name first, given from your post it doesn't seem to have one. Then publish on well known site that this project is searching for devs.
I gave up with the idea of an useful sig...
This was asked back on Slashdot 14 years ago in 2000. As you can see, most of the websites mentioned that archived "ummaintained" software have since evaporated and are unmaintained themselves!
Then it was talked about briefly on stackoverflow in 2009.
Submitter, what I suggest you do is include a text file that describes the history of the project (If it was me - I think it would be nice to thank those by name who made significant contributions), known issues, ideas for direction of the project (if any), and then post it to Github and Sourceforge as an 'ummaintained' software. With as permissive as a license as you can give it, which will encourage it's use down the road. Also, I would post links, notices, and intentions to any associated forums. And give the community as much time to as possible before closing the website down. Maybe someone or some company will have the where with all to continue the project. If it is reasonable to do so and they seem to be reputable and serious, you might let them. Otherwise, when finished, make sure that archive.org has browsed the website for their archives. Also, post a copy the final software there. If it has a domain name, if you can, I'd give it a ten year renewal date and give it a notice of closure and a link to the project on Github.
But the larger issue for me, is that you, your colleagues, and friends spent time and effort on this project. That should be recognized. At least by acknowledging that support is ceasing for this project, it can hopefully move on to other hands in the future. It does happen.
I wish more more programmers were as thoughtful as you. And I wish there were better ways (i.e. more permanent and standardized) of dealing with orphanware.
Take the cheese to sickbay, the doctor should see it as soon as possible - B'Elanna Torres, "Learning Curve"
Said this already a while back on a simular problem:
It's called marketing.
In short:
If your project is (re)presented properly, you'll have people falling over each other to claim gouvernance over it.
I'd put it into a foundation - after refurbishing it's outward representation!
Example: Typo3's architecture looks like it's designed by monkees on crack, it's config language TypoScript is so bizar - in concept and in implementaion - I can't even describe it and there are a countless other strange things about this software. Yet it has a professional website, ressonable documentation and a solid brand, brandbook included(!). I doubt the Typo3 Foundation has problems finding heralds for it's project. There even are Oreilly's on it.
Hope I could help. And good luck finding a heir for your project.
We suffer more in our imagination than in reality. - Seneca
I'd rather write a replacement product then help old software limp along. Also old code tends to be ..........
Mature, debugged, and well documented?
The best way to attract developers is to keep the name and purpose of your software secret.
Could you be more specific about the kind of software this is about?
Lots of good suggestions, but it all boils down to a few options:
1. Get users who care to pay for continued maintenance, so that developers/consultants can at least be hired for the work.
2. Offer a migration path to alternative projects, if such exist.
3. Let it rot.
Note that #1 and #2 don't have to be mutually exclusive.
If you post the name of the project, then you may get real answers that apply directly to your situation. But somehow I get the feeling that you don't name it for this very reason. And since that's the case, it appears that your project will die. I'll bet that there's already a replacement out there that many are already switching to.
Having said that, I hope the project is called facebook.
Politics; n. : A religion whereby man is god.
The GP should be modded +5, Painful Truth.
There're lots of OS projects out there without anyone listening. They get no response when you post an issue, even if they're popular and people are still using it. Most people don't contribute anything with a project if it's working. If a little bit is not working or could be better they may post a little patch to get that little bit to work. If there's a lot that's not working the way they like, they may shop for something else. IMO 20yrs old sounds like old code. That's before the birth of most modern languages we use today.
I don't think I've EVER seen old code that's well documented. Not even stuff from my own larval "Document all the things!" phase... I think subversion feeds on comments.
Well, on comments and release engineers' tears, when it comes time to merge...
Whats the framework like? the code will need to breech the walls of the corporation and enter into the open source ecosystem (dont worry, the waters pretty warm out here!) Have you consulted management and legal? while they likely wont have any major restrictions, keeping them in the loop could afford the project some unexpected resources.
1. What is the license of this code? GPL? Affero? BSD? Apache? Open Source is a pretty diverse term and can often determine numerous limitations and options for perpetuating the codebase.
2. Do you have hosting? does the project have a name and a home base that users can at least visit to learn about the project, what it does, and how its helpful. marketing the basics is pretty important and while some projects like those by Linus Torvalds become a smash hit with a simple post to a mailing list, the open source ecosystem is blindingly vast.
3. Do you have mailing lists or irc rooms? google and facebook arent bad, but many other open source projects have IRC or mailing lists because its what devlopers and users in the community are most accustomed to. The important part is to have open and easily accessed channels of communication that members can participate in and help foster growth.
Good people go to bed earlier.
Take down the Web site. Eliminate all official downloads.
First, people shouldn't be encouraged to use unmaintained software.
Second, if somebody really depends on it, they're put on notice that they now have to step up and support it.
I never believed the MS open source thing was real, and now we have the MS guy saying the corp doesn't want to support the software and his friends have had to find real jobs.
Now we know the truth!
lol...well documented. Score should be 5, Funny
Why would you want to write a replacement product and support the old software too?
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law
or are close to retirement.
Wouldn't a retired person have a lot of time on their hands to contribute to the project? Or it's customary in your country for all people at retirement age to perform ritual suicide?
I'd be happy to offer free website hosting to a project like that if there's real community value but I'd want to see the code hosted on Github/Bitbucket. Such a generic description will make it hard for you to find anyone willing to put up the money. It's also ambiguous as to whether you need to find new hosting or are looking for younger programmers to continue development.
As long as it is clearly indicated, that it is unmaintained, there is nothing wrong with putting unmaintained code somewhere public. It can still be useful if even if the project as a whole would not be something someone wants to maintain.
Hard to give advise for something that there's no information about. I do not really know how much effort has been used to find a maintainer(s). Like it has been said, if it's under a real open source license, and not some "look, but don't touch" kind of license, put it somewhere, state that it's unmaintainted, if there's no maintainers to be found. If it is under "look, but don't touch" license, then you have to get the license changed. Still you would think there would be someone who wants to maintain it, if it's as important as said, though yes, many many many programs go unmaitained, because of lack of skills of those who want it or people want to invent the wheel again and again.
Unfortunately there aren't many options, if no maintainers are found, the you can just park it somewhere or do what the parent said and vanish it.
As long as it is clearly indicated, that it is unmaintained, there is nothing wrong with putting unmaintained code somewhere public. It can still be useful if even if the project as a whole would not be something someone wants to maintain.
Which is what he suggested - move the project to github. It's still public, but it forces people to go to the new location. In doing so they cannot avoid becoming aware of the project's status.
That might explain why nobody wants to touch it without a ten foot pole and a hazmat suit.
I write sci-fi for metalheads
Moderating on a touch screen is horriblely easy to hit the wrong mod option
---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
I think this question is not right for SO. It can be closed under different reasons
- Primarily Opinion Based
- Too Broad
- Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
I don't have a SO login in this machine. But as soon as I get on my other machine, I am planning to do a close vote on this question.
Comment removed based on user account deletion
Unless the project still attracts new users right now, there is no way you could possibly find anyone interested in coding a 20-years-old project.
Just publish everything on github and forget it.
If your project has a web page, I suggest you post a note saying, "WARNING: Using this project is not secure as it may contain unfixed security issues," and then post instructions on how to migrate to BitLocker. Oh, and then disappear without a trace.
Freely being the key word there. As soon as you say it is NOT available to the public, then it is *NOT* freely available.
He said "then", but he meant "than".
Karma: Poor (Mostly affected by lame karma-joke sigs)
... then you should be able to get someone to step up and do it.
I've decided to stop wasting my time responding to AC trolls/sockpuppets... so if you want a response from me... login.
They will at least ensure that the code remains available, and if someone decides they must have an update, they can either sort out coders or code it up themselves.
Many people will love the code but never do anything to help merely because they don't *have* to, someone else (in this case, you, the coding team) will do all the work, and their apathy will become moot as you solve the problem.
You've done what needs to be done to find new support. Pass the code on, freeing it permanently is all you can (and need) do now.
just anounce you'll implement Systemd support, they'll fork you in a minute
Why are other peoples sig's always more witty ???
I thought the same thing. If the number of users is dwindling - then hosting it on "github" is for posterity only. Maybe somebody in the future will be able to use the code and do something "new and improved."
It seems that the power of capitalism is what plays here. If nobody uses it - then put it out to pasture. Hanging the code out in public may help a future generation in an unknown way. Maybe it will have a revival. Who knows.
Think of all the books that have gone unread (or lost) because of old age. Either the language is unknown today or there are just too many modern books to read. Some research scientist will look it over in "20" more years and write about the golden nuggets found in that old project.
No mod points, just want to point out that the parent is the OP, giving more info on this question.
I have the same issues with OS/2 source code. Not been able to attract new and younger programmers and many of the source code is scattered on the web with the risk of being lost.
I'm doing the following:
1) I had organized all source code I was able to find on GitHub:
- Created a Organization on github - https://github.com/os2world
- Organized the repos in "named-categories"
2) Created a Wiki to organize the catalog.
3) I will upload a copy of all repositories and a wiki dump to the Internet Archive. http://www.archive.org/
This are my steps to try that the source code do not get lost.
One of my FOSS projects has taken to embedding itself within curly brackets and calling itself "Gertrude." While I support its right to make formatting decisions for itself, my compiler disagrees and refuses to build any new versions until "Gertrude" formats itself "properly". This has resulted in no new builds of my project being released for almost three weeks, an eternity in the modern rapid development cycle. My entire community of users (myself and my cat) are quite put out by this turn of events, and half of them (my cat) have threatened to boycott our project's upcoming Kickstarter campaign until this issue is resolved.
What do?
Maybe try telling people what the project actually is, would be a start?
an open source project for over 20 years under a corporate aegis.
There is your mistake. The corp will do what it likes.
we have a sizable user community and the software is considered one of the de facto standards for what it does.
Both of those need qualifications. For example 20,000 people might sound like a lot but it is not a sizable user base. One of the defacto.... one of out of how many? If there are 2 or more standards that work nearly as well.... Well there you go.
If there are other projects that are viable with these problems just open a website, decouple from the corp and be active. Open source projects are very tough and not always a good idea. The corp you were under most likely made things 10 times as easy for you. Now you are going into the wild. There isn't any magic formula for recruiting volunteers unless you can con a few local schools into using the project as a internship/homework for degree students.
Ahh, the good ol' CADT model of development.
I think I fall into the "let it die" camp. The metric of success I've used for my own open source projects is how quickly I can hand off the lead developer role to someone that wasn't on the initial core team.
Mature, debugged, and well documented?
From a classic (i.e., old) JoelOnSoftware, Things you should never do :
Yes, I know. I was guessing that he didn't know the difference.
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law