Hacker News new | ask | show | jobs
by ericflo 5702 days ago
Sorry, I just don't buy this. From Google, to Yahoo, to other teams in Microsoft, to small startups, to IBM, to single-person freelance developers--each one of these groups have open source projects that accept community contributions.

If that increased the "surface area for copyright/patent infringements" were so great, or were such a dramatic burden, then the above would not be true. But it is true.

Let's look at Cassandra as an absolute prime example of what I'm talking about. The original version of Cassandra was a code drop by Facebook. It made some news in tech blogs, and then mostly everyone forgot about it. A few months later, another version was dropped, but this time nobody really noticed.

Then Jonathan Ellis found the codebase, imported it into GitHub, and started doing development on it in the open, and accepting patches. Sure enough, more people started to take notice and watch as development happened, and started to contribute back. A community started forming. Facebook then donated the project to the Apache Software Foundation, where it's continued to be developed in the open and thrive. Now it's supported by many companies; in fact new companies have sprung up specifically on the premise of providing support for it.

Empirically speaking, the software has had much more development since it switched to being developed in the open. Subjectively speaking, it's simply a vastly improved piece of software from when it was handled as a "code drop", it's boosted Facebook's credibility in the eyes of developers for having started the project, and it's gained much more popularity.

So, going back to F#, what are the goals that Microsoft is trying to further with its platform? I'll posit three (of which there are certainly more): to increase the reach of the .NET platform, to boost Microsoft mindshare, and to increase developer productivity.

Each one of those goals are served better by moving to an open development model, for fairly obvious reasons.

I didn't mean for this response to become so long, but it just seems to me that this is such an obvious and unfortunate blunder that it renders the whole open sourcing of the language nearly worthless.

4 comments

I think everyone agrees that accepting patches would be awesome. The F# team isn't very big and is largely made up of researchers. They have obviously thought about an open model but decided not to, for some reason or other.

Whether they have a valid reason or not, it's perfectly legitimate to create a public fork of F# and accept patches - I imagine that Microsoft will practically beg to merge in quality patches once they're proven to be popular.

     From Google, to Yahoo, to other teams in Microsoft, to small startups, to 
     IBM, to single-person freelance developers--each one of these groups have 
     open source projects that accept community contributions.
The difference is that Microsoft is selling these products to companies that have idiots in charge and that won't touch anything related to open-source; although it's Microsoft's fault really.

EDIT: This is their excuse, that their customers prefer to be safe in regards to the IP they buy from Microsoft.

Are those people the same ones who would buy into an early-stage functional programming language like F#?
Both sets of people can be present in the same company. There have been postings in the F# forums of devs wanting to use F# because they know it's good, but being very clear that corporate policy is going to restrict them unless certain conditions are met. Whether IP concerns from open source contribs is one of these, I dunno.

Nitpick: F# is really a multi-paradigm language. It truly does provide OO, functional, scripting and interactive styles.

> There have been postings in the F# forums of devs wanting to use F# because they know it's good, but being very clear that corporate policy is going to restrict them unless certain conditions are met.

Maybe the F# people should rename it "C# Functional", then the devs can write code in it and if the managers say anything, just tell them it's part of C#, and they'll be none the wiser.

Someone here had a good way to do this (sorry, my google-fu is not strong enough to find the link):

"What language do you use?"

".Net"

"Oh, OK"

there seem to be a lot of interop issues with C#

http://www.ctocorner.com/fsharp/book/ch17.aspx

If you want to submit patches for code written by the same guys, there's always GHC.
If you don't like the way the project is ran, you can just fork it and create your F# variant that accepts patches. This has been done before countless times (e.g. EGCS), this is the power of open source.