The Long Beard's Revenge
sheddingbikes.com
sheddingbikes.com
Great, that's their prerogative... its MIT licensed software. But I can tell you, after this sort of interaction for years, I no longer invest my time in Orbited, and instead I bill $250/hr to share my expertise with consumer facing internet startup companies.
One actual data point to add this discussion anyway.
[ edit for spelling ]
In orbited's case, it just works for the most part. We don't need help with orbited, we need help in another million areas.
It sounds bizarre, but open source software that is not quite good enough builds a much larger community that one where its 'all done'.
We had better visibility into their 200+ client sites, automated processes, stability, gave their employees nothing much to do, and, unfortunately (in hindsight), provided good tracking of support incidents. These were the things we were asked to do in the contract, and we did it well, and we paid the price for that. If it was a little more faulty, involved more 'busyness' from the people on their side, and had poor visibility into the overall system we would not have lost that chunk of money. We did not have to be this good, just reasonably better than the old system.
Cannot really complain though - from their perspective, this cut was one way to save money. Just business. Funny business.
And so you wouldn't participate in the developer's disgust. All positive to me. AGPL FTW.
After all, cloudkick doesn't seem to mind if some people don't touch it with a ten foot pole because of the price.
I think it's a tradeoff: with GPL style licenses, you risk excluding potentially valuable community members who use your code in their own proprietary applications, but may give something back. On the other hand, sometimes those people/companies give nothing back, and some people find that irritating.
I'm hoping to donate to those projects (such as Django, Orbited, Twisted) that are essential Gridspy when we break even.
If your curious, I have a simple overview of our backend here: http://blog.gridspy.co.nz/2009/10/realtime-data-from-sensors...
pquerna, gridspy, thanks for your responses! I didn't mean to sound quite so cynical. Mainly I am venting my frustration at the lack of a dedicated developer to maintain the project, especially after I've seen so many success stories.
wrt AGPL: In orbited's case -- b/c it is a socket proxy -- the AGPL would really have no impact whatsoever on users. No one would be linking any of their code in-process, and so there would really be no requirement for them to AGPL any of their custom back-end logic. Besides, I don't really believe in trying to force users down a particular path. My hope is always that freedom and choice helps build trust with your user base, which ultimately results in the healthiest community.
Yet, when I started Orbited 3-4 years ago, I never intended to be married to the project forever. My hope has always been that some people/projects/companies that are depending on the Orbited would be willing to commit substantial engineering resources to fix bugs and implement new features, and from those contributions some new core committers would emerge. Unfortunately, my work still accounts for about 95% of the 0.7.x branch which is the last stable release.
I feel like Orbited is far behind, considering I haven't been involved in a release in about 2 years, and no one else has really stepped up. I am always shocked, truthfully, when I hear success stories and see people building applications with it still. The code base has remained unchanged through about 10 browser releases.
Optimizely launched today. Normally A/B testing is simply a framework feature someone (or rather many people, typically independently) implements and puts out there. Instead, with a little more work and very little upfront capital you can turn that feature you would've put out as open source into a revenue generating product. For lots of people it's not worth turning into a product if your servers are going to cost you thousands of dollars a month from day one but if it's just 20-50$/month then the economics change entirely. From the community you lost all the people who would give something away for free simply because it would've been too big a hassle and risk to turn it into something profitable.
Another good example is http://directededge.com . An adaptive recommendation service seems like the ideal fun project to hack on as an open source API/library. But now it's a subscription product too. I'm sure many others can be found.
Clojure, for example, could've adopted a freemium business model, say by allowing the free version to be used noncommercially but requiring a license to use it commercially. But it chose an OSS licensing model instead, I'm guessing at least partly because: 1) the main initial motivation was building an interesting language; and 2) non-free-software programming languages are a non-starter among many potential users.
Maybe for a web service...
If you go back to the Transmeta years, even Linus Torvalds was doing the kernel only part-time for a while. Full-time FLOSS development has always been rare.
There's an undertone of anger in this post that there is no suitable industry job out there for the developer of Mongrel. Maybe that is a shame, but I just don't find it as surprising as Zed does, I guess.
There is a crying need for some other way to fund infrastructure software projects.
Agree that there's crying need for some other way to fund infrastructure software projects.
Disagree that Full-time FLOSS development has been rare since since Linux became what it currently is through a lot of full-time, paid work.
Etc...
I'm pretty damn impressed with the directions and comments of Zed. He's by far the "realist" person in the industry.
My policy is when a post or comment has one grain of insight or new ideas amongst a bushel of wrong-headed chaff, I vote up. After all, I have a fully-working pattern-match filter built into my brain, and so does everyone else. The world is a better place when people are encouraged to make positive contributions.
It is also possible that Ohloh's tracking is not perfect. They can't track things that haven't been reported to them, and that process can take time. So I'd expect under reporting of recent changes. (Not necessarily as much as we see though.)
However, that data wasn't the point, just an indicator.
Numpy must be stealing from other projects, as they have -150KLOC
Also, numpy is not mainly written in modula-2.
Moreoever, you have to be careful about numbers of lines-based statistics for numpy and scipy, because a lot of code is generated or 3rd party libraries (that are integrated because no distribution has them packaged, not even debian). Also, cloc gives me vastly different numbers, with a lot of comments and all (but again, not very meaningful because of generated/integrated code). ohlo stats are not very reliable in my experience, at least for the packages I am involved with.
My theory: projects migrate away from sourceforge and don't bother to enlist new repositories in ohloh.
http://www.ohloh.net/blog/new_subversion_downloader
That's also why I mentioned github, they could provide other data (if they weren't too busy inflating their numbers by counting every commit, gists, forks, and duplicate projects as a "project").
http://github.com/blog/620-committing-like-crazy
Does anyone know how Oholoh gets its numbers? As far as I can tell, projects have to be manually added; it doesn't appear to scrape them from hosting sites.
Not directly, but there is a correlation. For example the amount of open source that our shop puts out is definitely related to workload - as we have shed staff, the remaining people start to burn out and have less time for side projects, "personal development", as well as less energy for coding at home.
Our enthusiasm has not waned, but our ability to tap into it has diminished. I don't recommend it, it's bad for morale. Good devs need room to grow, and open source is a great outlet for this.
And yes "our" enthusiasm (since I'm one of you) has waned. We no longer have community like in the old days, we have a series of fad driven social ponzi schemes where 10% of the people hope to make money and the other 90% are dupes thinking they are.
I am just saying that if there is a drop in open source, you don't have enough data to eliminate the recession as a significant factor in the decline.
I think that's a fantastic insight. This is related to the phenomenon of markets that are mostly-all bubble and reputation based, like fashion models. (There was an article posted here awhile ago, but I don't have time to search for it right this second.) The old-school music industry was much the same.
Further, I have a pet theory that OSS is largely a cultural/generational thing. That is: OSS might have picked up steam simply as the only logical approach to creating software under the long shadow of Redmond. (If you kept the source and make a product, MS buys or buries you. So why not open it up?)
For many OSS projects, their purpose was to compete with stagnant lackluster industry standards and force them to move ahead.
But today's young geeks have no context for that. They haven't seen software monopoly stifle innovation. They take the current competitive atmosphere for granted.
Remember for most of this time there was little overlap between the Unix and Windows worlds. A Unix user would no more care about Word and Excel than a Windows user would care about Emacs and FORTRAN.
Back in those days Microsoft developed software on a VAX and cross-compiled it, and had their own Unix, Xenix.
Really? What do you think all the clouds run on? How about Amazon and other cloud hosting solutions? Isn't that linux (and its kernel) in the cloud?
Huge memory, multi-core, I/O (and full stack optimisation for SSDs), network filesystems... all of these huge subsystem revamps are inspired by something.
:-)
A down economy has unusual effects on free time: the less-competent are first to go and most likely to stay unemployed, while the best and brightest will be retained and overworked. This would deprive OSS of much of its premier talent.
We are also seeing a major platform shift on lots of fronts; from traditional desktop computing to alternate form factors(phone, tablet), from big iron to commodity computing, and from C, C++ or Java console or WIMP-style apps towards modernized browser apps, which have an increasingly rich set of options for UX. All of this causes a huge upset in the very gradual process of open-source development and encourages a gold rush of low-tech apps that exploit the new platforms.
I don't think this leads to a "Long Beard's Revenge" scenario, though, as the next thing that's going to hit the browser, now that it's getting more capable, is to make webapps that are client-heavy and cheap on the back-end. Open-source stacks will correspondingly start building up more heavily on the JS end of things. After some time, we'll see more open-source JS apps. And then who knows what will happen?
OSS is perpetually underfunded and overexploited; it's a commons good, after all. And when OSS authors "put themselves out of business" by writing excellent software, they've essentially fulfilled their economic destiny.
But I don't think industry is to blame for the particular bias Zed discusses. It goes back to the state of the economy: Income inequality locks people out of open source, as fully participating in it is a luxury of self-actualization, one which takes lots of time and effort. At the same time, if most of the money in the world is sitting on a few rich people, the best way to get their attention as consumers is to make slick toy apps.
That is, if things were right with the world, our apps would be extremely boring-looking, very useful and functional, and mostly open-source, because that would mean nobody is feeling pressured to monetize their software.
In other words, instead of kissing ass in the office they would rather produce kick ass software on their own.
Let's look 10 years back: To become a popular "web company" you've probably had to invest a lot of cash in advertisements. Today strong social networking (blogging, twitter, HN, fb, linkedin) in theory allows the developers/builders/creators/"marketers" direct access to the market without having a middle men and for a few bucks.
So it's all about "full stack self promotion": You've to sell AND deliver awesome quality on a daily basis.
Some good and hard-working will be able to make bigger profits themselves if they learn self marketing skills (=> 37signals, peldi/balsamiq, amyhoy … ) and actually WANT to sell. Many of the old school OSS developers don't want to sell themselves as an "ego brand" on a daily basis. They just want to do cool technical things and get enough money for a living. They are awesome brains but often have autistic-like social/selling skills and a completely different motivation.
Banks collapsed because they had crap IT. This is why Bear Stearns has a 20000% increase (yes, percent) in failed trades in the last two days of their life and didn't know about it. Bad IT also let them create these derivatives and have no idea how much risk was actually in them, hell, how much money was in them.
Startups are going to go through the same thing. They're lack of attention to detail of the total product quality while promoting their "full stack" as if it were high quality is already starting to bite them. I know a lot of these exits you're seeing would have been higher if they had better operations than they do.
So this myopic view that it's all about sales at any cost and "user experience" only does nothing for the industry.
I think you have a good point, but you're stretching it a bit here. Bear Sterns was dead before the last 2 days of their life.
regarding the "ego promoters":
For me it looks like currently the trend is to "migrate" from IT to "Life Coach" and selling your "make money fast" show to the community, which already suffers from the described decline of appreciation. It's like the sales, psychology and stock trading gurus we all know: They have their time and in the end their star is usually waning fast BUT the next one is already preparing to enter the stage…
You sound like you think the bullshit derivatives etc were an accident? As if the people slicing & dicing bad mortgages into CDOs etc didn't know what they were doing?
The problem is that a lot of these "product people" don't perceive themselves as being part of "the commons". To them a lot of open source software is simply something that for some reason exists and can be had for free, not something that took effort to build.
To illustrate that the tragedy of the commons really is a myth, consider the recent complaints against Ubuntu: they were found to be freeloading on the commons of desktop Linux and were reprimanded for it by the other contributors and users of that commons. What did emphatically not happen is that other contributors followed their example. Red Hat continues to develop Gnome, for example, even though they know their work will be profited from by Ubuntu without Ubuntu contributing something back.
We see it as good business. We are known to be route-me experts, which has helped us sell our platform for mobile map dev (and dev devices).
I also think the death of open source is greatly exaggerated. It's natural that contributions would fall off, as FOSS gets more mature, and just requires polish. As it turns out, it's not nearly as fun to polish software as it is to write something new. And there's endless polishing work on all software.
This may be the single reason why open source isn't more dominant - because you actually have to pay guys to do the dirty work at the end, or they'll go back to hacking something more fun.
I seem to remember a certain Debian article along those lines.
I also consider Debian to be exactly like these companies who take my work, butcher it, then pass the support costs and blame on to me. Considering I am a prolific contributor to the open source cause, and I've never butchered a Debian package when they've butchered my software, I'm completely justified in criticizing them for their actions.
Also, Zed writes:
> I also don't make money on these systems, or I pay for them, and I contribute back extensively. So don't compare me to the likes of Meebo and Twitter.
Debian makes no money on its systems, and contributes back extensively too in many cases. So comparing it to the likes of Microsoft and asking for people to "attack" it was really uncalled for.
Virgin Blue's hosted airline reservation system recently went down, costing the company $15-20 million by their estimates. (http://www.businessspectator.com.au/bs.nsf/Article/Virgin-pd...)
I wonder if Navitaire-Accenture, now facing one of the biggest IT lawsuits in Australian history, wish they'd had a few more long beards around...
I wonder about this. Seems like there are plenty of rails / django / joomla sites out there, but not sure how many proudly display the "Powered By" badge, or contribute back.
That's different than say a web server or chat protocol where you don't have to say at all what server it is, and it's usage is just about configuration rather than daily coding on it. With infrastructure nobody should really be talking to you if you've done your job right.
It was the motivation for me to build http://IsItRails.com/ because in general so few sites tell something about the used technology stack.
From time to time I'm receiving mails telling me to remove a listed site because of some "company policy"… wtf.
(If you consider that a dubious security measure, well, I'd be the wrong one to take it up with.)
For many common tasks, there are a plethora of Apps out there the do pretty much the same simple thing, in a mostly functional but considerably klunky manner. In the open source world, one of these would take the lead, incorporate the best features of the competitors, and then developers would pitch their efforts behind the winner increasing the lead even farther. Instead, every week there's a new closed-source work-alike.
It feels like a regression back to the pre-open-source days of shareware. Instead of a pooling of efforts, everyone is duplicating the work that's already been done. Instead of building a solid foundation, there's a glorification of throwing something together in an afternoon from "premade parts" and "stock libraries" --- perhaps they grow on trees --- and putting it out there for sale.
Android is considered the more open environment, but on my Linux based Android phone, I don't know if there are any open-source Apps that I use --- maybe the Camera is stock? In contrast, on my desktop (also Linux) I can't offhand think of any programs I use regularly that aren't open source (I guess Flash, if you count it as a program).
I don't think this is by accident. Why for example does Google have such a lousy closed-source email App? I feel certain a forked open-sourced version would be vastly improved within weeks, and anyone who didn't think so would still be free to use the original. Believe it or not, it's actually reasonably common practice to disassemble an App like this to byte code, and then try to patch this and reassemble it into a working App. (http://code.google.com/p/smali)
At one point I thought it was the phone companies that were setting this course, but now I'm not so sure. Microsoft tried to kill off open source through FUD and marketing, but surprisingly they didn't have the clout. But now Apple and Google might just kill it off by creating a thriving business for 99 cent Apps --- because who's going to release the source for a whole afternoon's work when someone might just steal it and put a closed-source version up on the App store and maybe become a millionaire?
I modify every contract I sign to include stipulations for open-source software.
Most companies couldn't care less about releasing bits and pieces of their code base as open-source projects.
Business schools have been preaching to students for decades about how marketplaces have become consumer focused and not product focused. They already think that the really important part of doing business is to focus on finding out who wants what, regardless of what the product is.
As a developer, it is your prerogative to ask! If you run in to any hesitation from the higher-ups, just work on it for a little bit... it probably isn't going to run against their "big picture" objectives.
Also, I add in a clause that states I will more than likely release aspects of the project under an open-source license. Nothing binding, but I like to have it in writing on the same piece of paper that ensures I get paid for whatever I do. Their lawyers always find a way to bill a few hours worth of figuring out the language. :)
The only thing I ever get from people is something along the lines of "hmm, we don't normally get this request, but no one seems to have a problem with it."
Development teams and managers love it because it means you're writing nice, modular code.
I've never had anyone take issue when, instead of burying some specific bit of functionality within business logic, abstracting things out to a library. In fact, most people would agree that that is good habit to have. ;)
When it is finished you just talk to someone up the chain about releasing it. Normally saying something along the lines of "hey, we might get people who don't work for this company enhancing this feature for us" really helps to sway their decision in your (and my hippie-dippie share things for the greater good) favor.
Here's the language from a recent contract:
-------------
4 . Ownership.
A. Assignment. Consultant agrees that all copyrightable material, notes, records, drawings, designs, inventions, improvements, developments, discoveries and trade secrets conceived, discovered, developed or reduced to practice by Consultant, solely or in collaboration with others, during the term of this Agreement and arising out of or in connection with performing the Services under this Agreement (collectively, “Inventions”), are the sole property of the Company except that Consultant may contribute certain modifications to Open Source projects as set forth in Sections 4.A.1 through 4.A.3. Consultant also agrees to assign (or cause to be assigned) and hereby irrevocably assigns fully to the Company all Inventions and any copyrights, patents, mask work rights or other intellectual property rights relating to all Inventions.
( 1 ) Open Source Projects. A software project is said to be an Open Source project when its project materials such as source code are published publicly and its software license permits the combination of project materials with other software project materials without fee and commonly with no or limited exclusivity or other limits on use.
( 2 ) Combined Projects. Consultant may from time to time in the course of performing Services and subject to approval by the Company use Open Source projects exclusively licensed under the MIT License to develop Inventions. During and after the use of Open Source projects, Consultant may add, change, improve or otherwise make modifications to Open Source project source code or other materials and may contribute these and only these modifications to the Open Source projects provided that these modifications do not contain Confidential Information and subject to the terms of the applicable Open Source project license and the project’s administrative rules.
( 3 ) Notification of use. Consultant has attached hereto a list of Open Source projects that Consultant may use to create Inventions and to which Consultant would like to contribute back non-confidential modifications. Consultant will provide prior written notice to the Company prior to using any additional Open Source projects to which Consultant would like to contribute back non-confidential modifications; and such use shall be subject to approval by the Company.
I get that for most companies that are developing software it is to support some other profit center and not their primary focus. They hire subpar engineers because that's all they really need (and they're not compitent enough to tell the difference), so a lack of automation in this context, especially test automation, is not surprising to me in the least.
But the idea that you would have a software based profit center that isn't automatically tested, especially with the competitive nature of the web requiring rapid turn around on features, absolutely blows my mind. Are people firing from the hip and hoping nothing breaks or clicking every link on your site? In which case you're either way too overconfident in your own abilities or have no value for your own time.
http://saucelabs.com/ is a company I know of in this space, but their product SUCKS (on Ubuntu/Firefox at least) and they didn't respond to my complaint emails (or fulfill their promise to remind me to cancel my trial subscription before I had to start paying for it). If someone wants to do automated browser testing right that would be awesome.
http://en.wikipedia.org/wiki/Mark_Spencer_(computer_engineer...
Sometimes it's not like that. There's a lot of friendly people, who encourage newcomers, and realize that if they opensourced something, it's not theirs anymore, it belongs to community. I just wish there were more people who're that friendly and involve more and more team players to get stuff done in their projects.
For instance, i have some feature for my product, that requires extension of the framework I'm working with. My actions are following: check whether it's already done -> ok, not done -> build a simple prototype, proof of concept -> go create an issue / start discussion / show your prototype to maintainers or community.
So, after the last step most of time i was getting stuck. Either I'm doing stuff in a wrong way, but most of commits that were followed by the same path, weren't getting through. First maintainer sees it, says that we won't do it since that's not in our primary field of interest, and closes the issue. Reopening and trying to involve more people into discussion doesn't lead to the success, since dominated opinion was already stated out, and people tend to agree with people they know and trust.
Second approach. Fixing the issues you're facing. You're using some stable version of software (not cutting-edge), and notice that something went wrong. First google request gives you a link to a patch. So, your work is not required anymore. If it didn't, you still should write a unit-test and prove that that stuff was caused by framework, not your software bundle. Having not much or no open source contribution makes that process long. If not - you succeed and provide a patch or wait until someone fixes it in a better way.
Third approach. You don't have any features that you lack, and you didn't face any unfixed issues during development. But you want to pay back to the community, since you're thankful. You go to the bug tracker, and try to find a suitable bug for yourself. Often by the time you come up with a prototype, gurus already get it fixed. So, you're out of process again. You should really dive into that and spend long hours to get to know source code very well first, get acquainted with active people there. It's never been easy.
It's true that a lot of companies have been consuming loss leader products but not the products that cover the costs (e.g. not giving the creator of the software a job, not purchasing an upgrade, etc.). This is equivalent to buying milk and nothing else at e.g. Walmart. They wont stop you. They probably don't even have a provision for people who buy nothing but milk over and over. They don't need one because they've spent a long time developing techniques to make sure you wont do that. In fact, if someone did start doing that it would be a good indication to the company that they need to adjust something. The internet hasn't been at this nearly as long as retail so it's no surprise that a feeling out process is going on.
Existing (stable) software has a very tangible value. With it you can accomplish much more than without it. You can take on more contracts and/or charge higher rates than you could without it. I think the fact that developers have previously been able to provide complete products by taking a smorgasbord of loss leader items and bundling them together with a little bit of their own glue was a market oversight that is now being corrected [2]. We can still be profitable if paying for the software we use. What would e.g. a home builder do if nails he used to buy at loss leader prices were suddenly priced at a profit? He wouldn't go out of business, he would pass the costs on one way or another.
Of course one could say "but I did pay them! I contributed 10 patches!", but this doesn't work because what happens if all clients "pay" this way? You have to have some way of enticing clients into buying your other products (e.g. hiring you into their company, etc.). In retail this works out ok in practice because companies tend to all do loss leader on the same things (everyone does milk for example). In software we're not all selling the same product so you can have situations where developer/company A has best-in-class product X as loss leader and product Y for a premium, while developer B has best-in-class product Y and sells Z for a premium. External parties take X from A, Y from B and Z from a vendor that is able to sell it cheaper because they aren't using it to cover losses on some loss leader product.
I think a lot of people have been blind to what's actually been going on because there has been (for a lack of a better phrase) religious zealotry involved. People saw (and participated in) "free software" and assumed that everything was changing. It was a bold new world where everything was going to be free! Except rent, groceries, etc. [3] It wasn't. It was just plain old capitalism that existed before we were born and will almost certainly still being going on after we're all dead.
[1] Give away your code and get one or more of:
a) a job based on your proven expertise (e.g. Alan Cox)
b) a paid contract for providing support (e.g. Redhat)
c) more traditional loss leader model of giving away part of the offering while making the costs up elsewhere (e.g. "freemium", etc.)
d) advertising with the free product
[2] This would be equivalent to Walmart doing loss leader with meat, Safeway with bread, Target with vegetables, Home Depot with tables/chairs, Hobby Lobby with plates/silverware and us opening a hamburger shop.
[3] This isn't to say that e.g. the free software movement doesn't have a good moral foundation. I think they do. It was just never realistic to think that software can join this global gift economy while nothing else does. It would also be very unrealistic to think all other industries would look at what was happening and say "gosh! Lets give all our stuff away free to!".
I could ask the dame of you, though. Is not your comment little more than a (successful) call for downvotes?