Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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
    
You can get a lot of info from answers to this question programmers.stackexchange.com/questions/294/… –  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
3  
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

6 Answers 6

You might want to look at http://www.codeplex.com/, 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
  1. http://csharpopensource.com/ 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 http://nuget.org/. 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

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 github.com 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

"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

Yet I have never joined a development team and now I don't know much about these teams except the fact that they exist ;)

Actually they don't exist. Development teams exist in businesses. Not in open source projects. There is no such thing as a open source project team. But very mature projects that have spawned an economy around their project do eventually have a development team that works full time on improving their product. These are projects like MySQL and WordPress that have an entire business working behind them driving and improving the tool actively.

Open source projects almost every time come out of one person's effort and initiative to try and create something that solves a problem. It is not possible to persuade good coders around the world who do not know you personally whom you have no relationship with to start working with you (with you as the project manager).

Open source projects get contributors. Developers who use your tool will submit patches for bugs and new features but that's just about it. You cannot rely on contributor to start taking up a section of your tool's development responsibility.

It is possible to eventually get contributors once you have something substantial. When developers encounter a valuable tool that provides them with 70% of the functionality and see the possibility of improving it, they WILL contribute.

To answer your questions:

Is there c# open source projects team? Where?

No they don't exist. Only people who know C# who might take an interest in your code and would like to contribute.

How can I offer my idea / code

Create the v0.1 first. Get it out there. That is how you offer an idea. Create something substantial that is worth improving.

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

You can accept or reject contributions that they provide. You can be a benevolent dictator. You can lead development in a direction. Read Cathedral and the Bazaar. But you can't "assign" tasks and hold people up to execute them if that is what a project manager does by your definition.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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