Shutting down a product? Open source it.
robots.thoughtbot.com
robots.thoughtbot.com
I suspect that the reason this doesn't have so much could be licensing of other libraries etc used by the code.
It's unlikely any of them would: they just paid a bunch of money and acquired the team plus source, and even if they don't use the acquired source, open-sourcing it is extra work and/or a liability. The team, on the other hand, may still have faint hopes that the company will do something with their product.
In the cases where it's clear that the team's energies will be focused elsewhere the team could try to include it in the terms of the acquisition, but were I in those shoes I'd probably not want to risk souring the upside or acquisition as a whole.
No reason founders couldn't specify this as a condition. Or make it an explicit term of their service agreement to customers/users well in advance of this eventuality. Something like:
"In the event COMPANY concludes business operations or discontinues SERVICE for any reason, including but not limited to sale or acquisition of COMPANY or relevant assets, COMPANY will license SOFTWARE under the terms of $FREE_SOFTWARE _LICENSE, in the preferred form of SOFTWARE for making modifications to it, inclusive of any build, deployment, operations, management, and documentation support."
Where the free software license would be specified, though generally I'd expect this would include a license meeting the FSF's Free Software Definition or the OSI's Open Source Definition and certification.
Also, I've not actually heard of Copycopter before, and I think it's a bit of a stretch to make the causative link between your announcement of shutting down, to also having AOL and Oink following suit. Correlation does not prove causation. (I've not actually heard of copycopter before).
Completely agree on the OS'ing aspect though. To make a point, when IndexTank got bought by LinkedIn, they Open Sourced it. I was then given the opportunity to look through the code, and it was then that I decided to migrate from IndexTank with immediate effect. Even though other parties were picking up the sources, I was able to make this decision will full disclosure. (And move to Solr).
I think they were trying to joke about the shutdown. I don't think thoughtbot would have been under any illusion that the events were related.
I realize it might not actually be that simple post-acquisition or some such, but at least at present it gives me the option of a consolation prize. I could take all the cool bits with me to use on the next project.
I do hope, however, that the developers there continue to play a role in the project. Just "dumping" a product into the open source world without continuing to contribute to it can kill a product almost as effectively as shuttering it with no source release.
Everyone's busy so we'll see how much time is needed and able to be spent by the new maintainers but we're happy to have found almost a dozen developers to lead maintenance across the two companies (Crowdtap and Iora Health) and we took the time to express a process and way of doing things to help make the project more efficient:
There is lot of news about SAAS businesses going under recently and this is definitely not a good trend.
One reason is they are under pressure to provide some kind of return to VCs even if it is by selling off the businesses. The merits of taking money or not is a different discussion altogether.
Why wouldn't these 'startups' try to tighten up the belt, build a profitable business by figuring out premium services and actually RUN these services profitably?
The reality for Copycopter is that it's a really useful item in the Rails developers toolkit. It didn't find a wide enough audience within the community which is what eventually doomed it as a SaaS. The cost of spending even 5-10 hours a week working on it burns more capital than I imagine it generated as a SaaS. That's why I think it's a perfect fit of an OSS project.
Before there was an "app store", people would think the same way and just open source software they cannot find a way to build a business from but that has severely changed thanks to having something as convenient as the app store.
I can think of some ways that a platform like this would work, and I think that it could be built by using something like Cloudfoundry, though I have the feeling that somebody is building it already somewhere.
It could be a platform where you create an application, someone confirms that the application is good enough and does what it is intended, you push the application, and offer it to other users in the same ecosystem.
Then you create the platform so that other users can clone an instance of your application by charging them. If you burn out, you can just stop developing the application, and the users that relied on your application. Otherwise you can keep on developing the application and then charge for the updates etc... etc... etc...
I think someone should do it, at least an abstraction of it. I would be "too frightened" to do it, maybe you could raise VC capital and become part of the problem by saying that it is the app store for web apps or something.
There are graveyards out there full of dead open source code. Will it ever be used? who knows. Without people a product is just dead code.
No one wants to publish a 'hack' to the scrutiny of a elite community of programmers, and for some companies just cleaning up the code to the standards the community expect would cost a lot of money.
(no seriously guys, nice job on the open sourcing :) )
Companies may have elaborate infrastructures and sets of dependencies, and it may take a lot of time to come up with something that even builds correctly in isolation.
Open-source basically has to be planned early on: use freely-available tools, use common platforms, etc. and then open-sourcing it later may not be too difficult.
Sure, the developer can decide to release the code as open source. That's fine. But to make an open source project requires a lot more commitment than that[1].
An open source project is kinda like a startup. You need your product (the code) you need your marketing (letting people know the code exists) you need your customer development (is the code useful for a lot of developers?) you need sales (dude, you really want to help with this code!) you need passionate early adopters (dude! you actually wrote unit tests for us? Tubular!) etc.
Compared to all that, putting the code up on github is the easiest part.
Really, starting an open source project is about building a community of people. Not people who use the code, but people who care enough about the code to maintain it and contribute to it.
If you don't do that, you've still got abandonware, its just that the code was open sourced before disappearing, never to be seen again.
Spending this effort to build a community may not be viable for projects being shut down- especially if they are failures. The people behind them may be burned out or soon to be unemployed or soon to be handcuffed by NDAs.
Maybe the open source community could use its own equivalent of the ASPCA-- the American Society for the Prevention of Cruelty to Abandoned Projects.
They could take them in, like pets, give them a home for a few months or maybe a year. IF the original developers are willing they can provide as much or as little support as they are emotionally or physically capable of. After a year, if the project has attracted enough interest it is spun out as its own open source project, and if not, it is "euthanized" by being marked as shut down and put in cold storage.
This, at the very least, would serve to bring light to these projects that could use some love. And since the organization would only handle a limited number of projects at a time, they could provide life support during that transitionary year, without burning themselves out trying to save every abandoned project, lost and starving on the side of the road.
[1] I speak theoretically, I'm in the process of making my first open source project and have been thinking about this a lot lately. My previous open source experience has been as a contributor.
Edit to add: this isn't meant as a commentary on Copycopter, just general thoughts on the topic of "don't shut it down, open source it."
1. dump the code into a zip and release it under a free licence
2. step 1 + answer to emails
3a. step 2 + provide a hangout for interested developers
3b. step 2 + actively work on the code base
4. steps 3a and 3b
5. step 4 + actively sell the project to devs
For example, id Software is on level 1 (or 2?) by releasing old engine sources. That is already much better than throwing the code away. Most open source projects themself are only at 3b, because they are hobby projects and don't care about users.
iOS currently makes for a good example, because all it takes for some old apps to use the Retina display is to recompile the very same source with newer dev tools. Sometimes it just takes that, or a small fixes to make software run on a new OS.
I'd pay more for software if the authors promised to open-source it the moment they drop support.
( Of course, the App Store has a problem similar to Ruby Gems - it is hard to transfer control of the main repository.)
When the announcement that Copycopter was to be shut down both Crowdtap and Iora Health reached out to Thoughtbot about keeping the service alive. Dan Croak facilitated communication between us and began the thankless job of putting the application in a state that we could deploy and maintain the codebase.
I believe this transition was a ton more than just opening a repository on Github. Dan engaged interested members of the community and has helped us get to the point in which we can carry the service forward. It was handled very well from my point of view.
If there was interest by some other developers, there was always some new open source project/community building itself up around the released code. And if not immediately, maybe a few years later.
E.g., some examples (where I was partly also involved in):
* OpenLieroX http://openlierox.net
* ioquake http://ioquake3.org/
* many projects here: http://icculus.org/projects/
* iodoom3: http://www.iodoom.org/ http://git.iodoom.org/ (still not much content there)
* https://github.com/id-Software
* Commander Genius: http://clonekeenplus.sourceforge.net/
* https://github.com/LaPingvino/The-Puzzle-Pits
...
oh wow, I worked on puzzle pits for a while trying to get it to compile.
I ended up figuring out that the original binary ran perfectly fine in dosbox (which I played for a bit) and that the original code was pretty much useless and it would be easier to do a complete rewrite of the game to get it to work with a modern system. Not to mention this doesn't even use a recent standard version of C. So I ended up losing all motivation because of this and because of being a 1 man team.
It was a fun project though, it was this project that introduced me to the hacks that made dos games possible :)
Being open-sourced doesn't prevent any codebase turning into some kind of abandonware. Certainly for me I have used a lot of software that turned out to be abandoned no matter they are open-sourced or not. But here is the problem, if it's a service, it's worse than abandoned. You simply can't use it. If it is just some desktop software, I can stick with an ancient version until I fill sick maintaining the running environment. For a service, that is it.
So to my own end, open-sourcing it, is at least, better than simply vaporize the service (which many of Google's services have been like that for the past months.)
For other ideas, maybe a new team will actually pick up the idea and continue to work on it as a company. I am currently working a startup project and we found a company, that was working on the same idea for 3 years and ultimately gave up. We emailed them and are hoping that they can share some lessons, but imagine we they open sourced their code. That might have really given us a jump start. But then again, as a developer I prefer writing by own code from scratch, to working on someone else's (by definition) crappy (most likely) PHP code base.
This is a worrying trend. Most of the projects on github have become 'orphans'. I see no docs and worse - no activity for years even on some pretty interesting ones. Contrast that to Apache projects and their communities.
@patricksroberts I think @nirvana meant this in a more general sense.
It really depends on what you're making. If the software is popular, there's little need to help form the community, facilitate the process, and so on. It might help, but just dumping the sources online is way better than nothing.