For products in the hardware, gaming, platform, and OS space, I understand that a lot of code is often bought, licensed, or shared between companies in a manner that would prohibit open-sourcing the software without a time-consuming IP hunt.
However, I don't think I've ever worked at a web startup that didn't require all employee and contractor-contributed code be granted irrevocably and without limitation to the company, and the last few companies I've worked at have also required that all third-party dependencies be licensed in such a way that the company could use them in an unlimited commercial or non-commercial manner.
Everything I've worked on in the last 5+ years could, I think, be open-sourced with the flip of a switch without IP or legal issue provided the company decide to do so. In a few cases I know about, projects I worked on were open-sourced after I left without even notifying me.
Do I think it's a bit irritating and potentially somewhat immoral? Sure. I'd have liked knowing that my code was open-sourced retroactively, if for no other reason than to add it to my OSS resume.
But I've never worked in a web startup where my employer wasn't effectively free of IP-debt, or one where the "flip the switch and-open source it" method wasn't legally viable.
I think I agree with your point, though: "just open source it when it dies" is a naive argument that ignores how much work putting code out there can really be.
I think you are probably right but I am curious how many web startups you've worked for. This is something I always wonder when someone says "I've never worked for a company that does X"
That's a very solid general criticism of my "well X has been true for me" style of post. I'm not trying to imply that my experience is comprehensive by any means - it certainly isn't.
I did find it quite interesting that the concept of open-sourcing a web company's software was fraught with legal concerns, because to the best of my knowledge other people could freely open source my last six years of work output without a single IP qualm. I'm obviously not inclined to think that my experience has been entirely out-of-the-ordinary, although that absolutely may be the case.
Thanks. It wasn't really intended as a criticism, it's just something I wonder whenever I see posts of that form (and I often find myself writing posts of that form and then wonder how it'll be interpreted by the audience.)
With web startups it is probably more common that you will have a stack of 3rd party services you hook into of which may work in a way that someone else couldn't just plug their own credentials in and have it run.
Certainly not 'and have it just work', but I'm really skeptical that many web apps have such complex api dependencies that you couldn't just fudge a new one in.
Even app-engine apps have been successfully run using an isolated stack.
...and certainly most 3rd party APIs really wouldn't care; just another end user. Nothing special.
However, I don't think I've ever worked at a web startup that didn't require all employee and contractor-contributed code be granted irrevocably and without limitation to the company, and the last few companies I've worked at have also required that all third-party dependencies be licensed in such a way that the company could use them in an unlimited commercial or non-commercial manner.
Everything I've worked on in the last 5+ years could, I think, be open-sourced with the flip of a switch without IP or legal issue provided the company decide to do so. In a few cases I know about, projects I worked on were open-sourced after I left without even notifying me.
Do I think it's a bit irritating and potentially somewhat immoral? Sure. I'd have liked knowing that my code was open-sourced retroactively, if for no other reason than to add it to my OSS resume.
But I've never worked in a web startup where my employer wasn't effectively free of IP-debt, or one where the "flip the switch and-open source it" method wasn't legally viable.
I think I agree with your point, though: "just open source it when it dies" is a naive argument that ignores how much work putting code out there can really be.