[Ironruby-core] Contributing?

Tomas Matousek Tomas.Matousek at microsoft.com
Fri Oct 22 20:59:57 EDT 2010

1) IronRuby is on github. I has been there for a while. There is no source code on CodePlex. The only CodePlex service we use is the bug tracker.

2) It is not a holdover. It makes a lot of sense actually for at least the following reasons:
a) Some IronRuby tests test interop between these languages. So there is a direct dependency. When you debug issues in language interop you need to have IronPython source code as well to step thru and make sense of the interactions.
b) DLR has two parts - the "inner ring" that shipped in .NET Framework 4.0 and the "outer ring", which hasn't shipped. Although the outer ring is pretty stable there are still many improvements that can/should be done. Obviously when you change the DLR you should run tests for both languages so that you don't break anything. Thus IronPython's test suite in the repo is handy. Also, if you change public API in the outer ring you might need to change both IronPython and IronRuby. All of this could be done in stages across different repos and even source control systems, but that's obviously much more complicated than having it just work.

Is size of the repo really an issue? If not, what is?

3) It is absolutely possible to build without Visual Studio. On Mono you can build using xbuild. Sometimes Mono's xbuild might have a bug but I can assure you that Mono guys are more than happy to fix it asap if it breaks IronRuby or IronPython builds. Doesn't MonoDevelop support .csproj files? I have no experience with it, but I would assume it does. The only part of the repo that is Visual Studio specific is (not surprisingly) Visual Studio integration in the Tools directory. Building a separate rake build system is just a redundancy that is difficult to maintain. Trust me, we tried. The less duplication in the build infrastructure the better.

4) We have an installer builder in the MSI directory that builds the entire IronRuby.msi and IronPython.msi from command line. These installers include Visual Studio integration so it needs to be there. Of course we can come up with some sub-module structuring of the repo that allows you to make a local enlistment with VS and without VS. That might be the way to go. Though, again, why spend time on changing the infrastructure? Shouldn't we focus on implementing features and fixing bugs instead? Does the size of the repo bother you?

Be assured that me and Dino have spent a lot of time to make sure no unnecessary process (Microsoft's or not) is needed when working on IronRuby and IronPython.
There might be a few small things to clean up that were needed at Microsoft and are not needed now. I'll be happy to make the changes. Two of them that I can think of right now are removing "LCA_RESTRICTED" and TFS bindings from the solutions. Other than that there is not much.

Any ideas how to make the development easier on Windows, Linux or MacOS are indeed welcome. Just be aware there might be good reasons behind the current repo setup and virtually none of them would be Microsoft process requirements. I'll be happy to explain them should you have any questions.


From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Mike Moore
Sent: Friday, October 22, 2010 5:10 PM
To: ironruby-core at rubyforge.org
Subject: [Ironruby-core] Contributing?

With a brave new world ahead for IronRuby, what do you all think about the following ideas?

1) Move to GitHub - I won't likely contribute if I have to use CodePlex. And I'd like to contribute. Can we do like the rest of Mono and make GitHub the central repository and source of all truth? Please?

2) Detach IronPython - Looking through the code, it seems that IronPython is in the same repo. I'm sure this is a holdover of how Microsoft had everything organized. And I'm sure it made sense then, but I don't think it makes sense now. I'd like to work on IronRuby, and I honestly don't care about having to check IronPython. Now that the DLR API is fixed, and there is no longer one Microsoft group in charge of both projects, can we move these into separate repos?

3) Detach from Visual Studio - I'm not on Windows, and I won't be using Visual Studio. I'd prefer everything to build with rake tasks on Windows and Mono. I assume things are the way they are right now because of Microsoft's build process. And right now it does not seem possible for me to build without Visual Studio. What about devs who are using MonoDevelop? Or any of the more powerful text editors? I'm convinced this is a major hurdle to getting many of the other Rubyist language implementors involved. Assuming I am not alone on this, is it possible we can make this project reflect the realities of the majority of folks that would like to contribute?

4) Remove ancillary projects into their own repos - IronRuby.Rack should live in its own repo, IMO. So should the Visual Studio tools. This is similar to separating IronPython into its own repo, but it needs to go further. Are there any reasons this should not be done?

What else do you guys think needs to change now that IronRuby is free from Microsoft's processes?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20101023/c99f41d3/attachment.html>

More information about the Ironruby-core mailing list