What must we do to make it easier to collaborate?

Sep 25, 2013 at 4:41 PM
I think it's time for Simple Injector to become more open. I'd like to make it more easy for developers to collaborate, open build and run Simple Injector solution locally, and make it easier for others to contribute code.

Some workitems for this are already created, such as:
Another thing that's on my mind is to switch to Git, but I'm too hooked to the Visual Studio TFS experience, so I'm still waiting for Microsoft to RTM the VS-Git integration.

One other thing that's on my mind is to change the copyright and license. Although I think the MIT license is fine, the current Simple Injector license says "Copyright (c) 2010 S. van Deursen" and that needs to be changed to something like "Copyright (c) 2010-2013 Simple Injector Contributors".

But I have no legal background and have no clue what will be the implication of this. Can we just do this? Is "Simple Injector Contributors" some legal entity that must be registered somewhere? I hope anybody can give some advice or feedback on this.

And perhaps there are other things we can improve the community and the visibilty. For instance, it's really time for a better logo and a proper website.
Sep 27, 2013 at 10:05 AM
Here's a very useful link on open source licensing.

Sep 30, 2013 at 9:09 AM
Edited Sep 30, 2013 at 10:01 AM
From all the reading I have done on this over the last few days I think the simplest option is to change the license to
Copyright © 2010-2013 the original author or authors
and individual developers should add/update their copyright in the headers of the files as they change them.

As for the web site, there’s a lot of information here (http://simpleinjector.codeplex.com), your personal site (http://www.cuttingedge.it/blogs/steven/), the example code on the codeproject website (http://www.codeproject.com/Articles/51007/Simple-Injector) and the reference library (http://simpleinjector.cuttingedge.it/ReferenceLibrary/).

A new website would hopefully start off by blending and then extending the best from these places.

Getting Started

The stuff on codeproject can be divided up into smaller, more detailed and self contained steps:
  • Dependency Injection 101 (just the SimpleInjector namespace)
  • Decorators
  • LifeStyles
  • Lazy<> and Func<>
  • … all of the Extensions namespace …
  • Helpers
  • Inside SimpleInjector
  • Generics
    • Closed generics
    • Open generics
    • Partial generics

Some of your blog posts can be used as the initial blog posts for the new website with new contributors / guest contributors etc to keep it interesting. The blog can be extended beyond dependency injection to cover related topics such as TDD, SOLID, Bootstrapping and the Composition Root, etc etc. Contributions to Simple Injector can be more than code changes.


Ideally a forum kick started by migrating all of the existing discussions from codeplex - but I think that managing issues/discussions here, where the code is kept, is probably a better option.
Sep 30, 2013 at 12:21 PM
Edited Sep 30, 2013 at 12:22 PM
@qujck I'm half way the FOSS-primer document you referenced. Interesting read, but I'm not yet sure if it is of help.

The copyright notice is interesting, although the FOSS primer has a warning against doing that.

I noticed that Autofac has the following copyright: "Copyright © 2011 Autofac Contributors". I'm wondering who "Autofac Contributors" is. This represents some sort of legal entity, and I'm wondering if we can do the same. But who is "Autofac Contributors". Is this registered in a certain state, or can we just declare the Simple Injector copyright as "Copyright © 2013 Simple Injector Contributors" and we're done. How does that work?

btw. Good points on the Simple Injector website. Information is available everywhere and you're even forgetting one important source: Stackoverflow.com.
Oct 2, 2013 at 10:51 AM
Edited Oct 2, 2013 at 10:51 AM
This link was in the codeproject newsletter this morning ...

How to Choose the Best License for Your Open Source Software Project
Oct 2, 2013 at 6:47 PM
Nice read. It confirms that the MIT license is the right license for Simple Injector to use.
Oct 2, 2013 at 6:56 PM
Just to comment on Git: I've used TFS for a while and I love the experience. For in-house projects, I think it is the way to go (if you can afford it).

Git client support for VS2012 is available at: http://visualstudiogallery.msdn.microsoft.com/abafc7d6-dcaa-40f4-8a5e-d6724bdb980c. I’m using Visual Studio 2013 RC. I cloned my first Git repository from https://entityframework.codeplex.com. I was amazed at how easy and nice the experience was. The client is pretty much the same as TFS (Viewing source history, diffs between versions, check in and check out, etc)

You might find that Git serves all of your needs, but if you still want to keep TFS in the mix, then TFS 2013 (on premise server as well as cloud service) can host Git repositories.

I think a switch to Git would make it much easier for developers to get a deeper understanding of Simple Injector as well as make it easier for developers to make contributions (and make it easier for you to accept or deny their proposed changes).

A couple of VS/TFS Git links:



P.S. Thanks for writing Simple Injector and I love your design philosophy. I am glad I found it (http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison).
Nov 24, 2013 at 10:52 AM
Interestingly enough, the MS P&P Enterprise Library is moving into the same direction.
Dec 22, 2013 at 3:06 PM
I changed the project's license. The copyright holder is now "Simple Injector Contributors". See the license page.

And we will migrate to GIT pretty soon :-D
Jan 4, 2014 at 9:18 PM
Edited Sep 28, 2014 at 11:28 AM
Here's a short but very interesting presentation about copyright and contributing:

Jan 15, 2014 at 11:25 AM
The discussion about a new Simple Injector logo is moved to this new thread.
May 4, 2014 at 6:02 PM
Is there a page for the "Guidelines for contributors"? I saw some low-hanging fruit but I'm not sure what the standard is for getting a contribution accepted? Do I just fork and then open a pull request?
May 4, 2014 at 6:22 PM
Hi @smarts, we need to get the page updated for Git (we've just swapped from Tfs to Git) but here's the page you are looking for. We'll get it updated over the next few days once we've bottomed out the new process.