Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an idea for an open source project. It's about building developing tools for software developers. Yet I have never joined a development team and now I don't know much about these teams except the fact that they exist ;)

My questions are:

  1. Is there c# open source projects team? Where?
  2. How can I offer my idea / code

  3. If the groups exist ... should I be the project manager in the sense of offering the scope , versions etc. or let others do it?

I know that java and other languages are better starting point for open-source but... I feel more comfortable with C# and the vs developing environment.

share|improve this question

closed as too broad by gnat, GlenH7, MichaelT, Snowman, Ixrec May 2 '15 at 16:22

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

You can get a lot of info from answers to this question… – Goran Jovic Apr 25 '11 at 17:22
Not sure why you think Java is better for OS; there are a lot of OS projects in a variety of languages. – Steve Haigh Apr 25 '11 at 17:25
C# is not a bad language for open-source, as open-source is defined by availability of the source code, not corporate sponsorship. You've been listening to too many politically-correct open-source advocates and/or Microsoft haters. – Robert Harvey Apr 25 '11 at 17:25

You might want to look at, this is an MS hosted site for OS projects, you should find a lot of C# projects on there, some certainly related to developer tools.

share|improve this answer

I have an idea for an open source project. It's about building developing tools for software developers. Yet I have never joined a development team and now I don't know much about these teams

Presumably, your idea relates to building software that would be useful for open source developers, right? (You're not likely to get much help from the OSS community otherwise.) But then you say that you don't know much about how OSS development works. That's a pretty big disconnect -- you might want to put that idea on the back burner and start contributing to an existing project for a while. Think of it as market research.

Is there c# open source projects team? Where?

In the beginning, the team is you and the guy in your bathroom mirror. Sure, there are OSS projects written in C#, but the people who maintain and contribute to them may already have their hands full.

How can I offer my idea / code

First, learn about the different OSS license options and figure out which one you want to use. Then put the code up on or some other hosting site so that it's available to anyone who wants it.

If the groups exist ... should I be the project manager in the sense of offering the scope , versions etc. or let others do it?

It sounds a little like you're expecting to join up with a roving band of C# programmers who are constantly searching for things to do. That of course isn't how it works. Instead, you start working, and at some point you make what you've done available to the rest of the world. If it's useful, people will find it and start using it, and a few of those people might decide to help you improve it.

If you make it easy for people to contribute, the chance that they'll help you is that much greater. If nobody sees the value in your tool, you won't get much help. As the project owner and the major contributor, you get to make the final decisions about the project (although anyone is free to make a copy and take development in a different direction). So part of your task is to build something useful, part is to tell the world about it, and part is to stay true to your vision for the project while at the same time doing your best to accommodate contributors whose needs are different from yours.

share|improve this answer
  1. lists a lot of C# open source projects.

  2. The simplest approach is to find an existing project of interest, and get involved in whatever way they need. There are lots of tasks other than coding, people are usually happy to have someone testing, improving documentation, answering questions, etc.

  3. Walking into a group and offering to tell them what they should be doing is a very, very fast way to get them upset. Most open source projects don't have anything resembling a project manager role. Or if they do, the person got there by demonstrating coding ability first.

    Self-organized groups are very different than hierarchical companies, and you can't expect them to operate in a similar way.

share|improve this answer

Particularly if your interest in C# is in the area of web development, you should definitely look at the NuGet Gallery at NuGet is very much "the new hotness" in .NET development, a package manager which makes it simpler to grab open source packages, add them to your project, update them, etc.

Already I'm hearing people say "If it isn't on NuGet then it doesn't exist", so this is where you want to be. I said "particularly if your interest is in the area of web development" because while there is nothing web-specific about NuGet, and there are certainly of non-web-specific projects there, like NUnit, it feels like at the moment it's mostly web developers excited about it. Maybe that's just because most of the .NET buzz is around web development, generally.

share|improve this answer
+1 It is true; if your OSS project isn't in a package manager, regardless of technology, then it won't be found. For .NET and C# there is only NuGet and it is quite easy to set up your own package. – Spoike Apr 18 '12 at 12:21

"Is there c# open source projects team? Where?"

Yes, if you're not planning to start your own project you need to find a community what aligns with your interests. There are plenty of Open Source C# projects, most of them are named something like [projectName].NET.

If you aren't familiar with Linux and MonoDevelop, you may need to be. Open Source projects are usually developed in Linux and made to work on all platforms. It's just the nature of Open Source. Fortunately, the MonoDevelop IDE is very good.

"How can I offer my idea / code

You don't. Chances are, in the larger scope of the project, your idea is insignificant. Keep in mind that, on Open Source projects, the other developers aren't there to work as your personal employees. They're providing a valuable service for free and likely already have a plan of what they want to pursue.

If you have an idea, the absolute first thing you should do is submit a feature request. If your idea is deemed useful by the development team then you can start development. But don't start writing code assuming it will automatically be integrated into the project because you'll likely be wasting your time.

Also keep in mind that your personal style preferences may not match what the project uses. If it's a stable enough project, they may have some coding guidelines posted somewhere.

Either way, whatever you submit will be critiqued and you'll most likely be asked to revise further before it's included in a release.

"If the groups exist ... should I be the project manager in the sense of offering the scope , versions etc. or let others do it?"

If the group exists, you don't 'let' anybody do anything. You don't automatically get benevolent dictator status because you think you deserve it.

If a project is established and development is stable, they will most likely already have a list of feature requests, roadmap for feature inclusion, and a pretty good support team for dealing with bug fixes.

Not just that but, Open Source developers put a lot of time and effort into their work. Not only that but you'll probably be working at some point with people who are much more skilled than you.

Gaining their trust is a slow process, and you will only make progress if you put the same amount of skill and effort into what you offer.

You will likely start with submitting patches, followed by submitting pull requests if your working on something bigger. Don't expect write-access to the main repository because. Contrary to popular belief, Open Source code is closely scrutinized before being merged into the main repository and even then, the submissions will likely fall on a pre-planned release schedule anyway.

Just from your initial approach I'd say, learn some humility before you attempt to join an Open Source project. They're not going to willing hand over the reins just because you think you're a talented developer.

It takes time to earn trust and if you're good you'll eventually earn the respect of the other contributors.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.