views:

188

answers:

5

I know VB.NET and i want to develop a program. Which i think later will be open-source if i fail to keep updating it. My question is : Is it possible to build open-source project by using .NET languages ? Or do i have to build open-source projects only using open source languages like Java,Ruby, Python etc ? ( I mean is there any restriction from microsoft on building open-source projects using their langauge and tools ?)

+4  A: 

You can distribute your source separate from the platform, so the answer to your question is yes. Your clients will have the .Net platform, and they can download the source or binary for your solution.

Don't forget that Mono is available as an alternative .Net platform, and open source, so you can provide an entire open source stack (if that's really important to you).

Brian Agnew
Is there any restriction from microsoft for using their tools and language ? Can they do that legally to stop? Just curious about their reaction,so asked.
Stark
I don't believe so. But there's none from Mono (I'm running C# and F# on Mono on a Mac OS X with no problems, btw, so it's a powerful alternative)
Brian Agnew
There is no restriction from Microsoft and they say they're trying to encourage open source development. As a side remark: legally I believe you can enforce any restriction you like about the use of your software, provided you put it in your licence agreement and make the user agree. But I Am Not A Lawyer.
MarkJ
@Mark, Yes that is one thing to watch out for. That if they don't allow tagging OSS licenses on the programs developed using their languages. If not, then making open source programs is quite risky.
Stark
+4  A: 

There are plenty of open source .NET projects, e.g. BlogEngine.NET. Check codeplex.

Brian Rasmussen
Codeplex is hosted by Microsoft, specifically to encourage open source projects, and presumably they hope a fair proportion will be in .Net. It is in Microsoft's best interest to encourage the .Net developer community, e.g., see freely available Express editions of dev tools.
ShellShock
+2  A: 

open-source (not comparable)

  1. (computing) Of, or relating to a product which is licensed to permit modifications and redistribution of its source code.

Wikipedia, emphasis added.

Svish
+2  A: 

As people have said, there is not a licensing restriction. On the other hand, you can write code that effectively has (proprietary) dependencies that you didn't think of, even if you use an Open Source license. For example, you may need the full version of VS to build software with some features, and IIRC Mono doesn't support VB as well as C#, and can't support other features.

The most important issue is really about communities - open development is more prevalent in the languages around some communities than others. C# is probably a better choice than VB if you want to use or contribute to .NET Open Source.

Stuart Ellis
I want to know why VB.NET is preferred over C# for open source .NET projects ?
Stark
It's the other way - open source .NET code seems to be almost entirely written in C#, and the examples etc. often assume that developers will be C# programmers. As somebody who started .NET with VB, I found the preference for C# very noticeable and just decided to go with the flow. Smarter .NET programmers than me have probably written insightful explanations.
Stuart Ellis
+1  A: 

There's certainly no restriction from Microsoft on developing open source programs with their tools. In fact Microsoft say they are trying to build bridges with open source developers, for instance by sponsoring conferences and helping projects get started and funding a foundation to help open source be used commercially. For more see here or here.

MarkJ