Open Source
Open Source Success Metrics
I got into a very interesting discussion with Rob Conery recently, talking about, among other things, the CodePlex Foundation. You can hear it TekPub’s Podcast #2, when it is out later this week. Tangential to our discussion, but very important, is how an Open Source project owner defines success for their project. Usually, when people try to judge if an open source project is successful or not, they look at the number of users, and whatever the general response for the project is positive. But I am involved in a lot of open source projects, so you might say...
Impleo – a CMS I can tolerate
If you head out to http://hibernatingrhinos.com/, you will see that I finally had the time to setup the corporate site. This is still very early, but I have a lot of content to add there, but it is a start. Impleo, the CMS running the site, doesn’t have any web based interface, instead, it is built explicitly to take advantage of Windows Live Writer and similar tools. The “interface” for editing the site is the MetaWeblog API. This means that in order to edit the site, there isn’t any Wiki syntax to learn, or XML files to edit, or...
The law of unintended consequences
A while ago I got a tattoo on my forearm (did I mention that you DevTeach is wild?). Here is how it looks like: To preempt the nitpickers, this was my logo first, I reused it for other stuff afterward (including Rhino Mocks & NH Prof), but it is mine. I did not tattooed NH Prof’s logo. So a while ago I was buying something in the supermarket and the clerk asked me why I had this tattoo. I told her that I like rhinos, and she said, but it is not a rhino. ...
Open Source development model
As someone who does a lot of Open Source stuff, I find myself in an interesting position in the CodePlex Foundation mailing list. I am the one who keep talking about letting things die on the vine if they aren’t successful on their own. I am going to try to put a lot of discussion into a single (hopefully) coherent post. Most of the points that I am going to bring up are from the point of view of an OSS project that got traction already (has multiple committers, community, outside contribution). One of the oft repeated themes...
CodePlex Foundation
I wanted to drop a few words about CodePlex Foundation. To preempt the snarky comments, no I have no knowledge about the foundation beyond what was made public. The CodePlex Foundation is apparently about: Enabling the exchange of code and understanding among software companies and open source communities. That is good on several levels. It is another stepping stone in making OSS an acceptable solution in the .NET eco system. It is explicitly setup to encourage the use...
Can you make money on OSS tooling in the .NET world?
The answer is yes. Here is a chart of downloads and orders of NH Prof. I am fairly happy with the way NH Prof sells. I think it could be better, but I want to see what happens to sales when I release the v1.0 version (which will be soon). Nitpicker corner: Numbers has been removed from the chart for a reason.
The state of Open Source in the .NET ecosystem: A five year summary
I have been forcibly reminded lately that I have been doing this for quite some time. In fact, I have been doing working with Open Source on the .Net platform for over 5 years now. And a few conversations with friends have given me quite a retrospective on the state of OSS.Net. 5 years ago, it was 2004, .Net 1.1 was still a hot thing, and Stored Procedures on top of datasets where still a raging debate. Open source was considered a threat and Steve Balmer was busy blasting at any OSS project that showed up. The very existence...
Castle Windsor 2.0 RTM Released
Some would say that it is about time, I would agree. Windsor might not be the OSS project in pre release state for the longest time (I think that the honor belong to Hurd), but it spent enough time at that state to at least deserve a honorary mention. That was mostly because, although Windsor was production ready for the last three or four years or so, most of the people making use of it were happy to make use of the trunk version. If you will look, you won’t find Windsor 1.0, only release candidates for...
Ayende's Open Source Project Maturity Model
From my point of view, there is a very easy model for the maturity of an Open Source project. Look at the answers in the project's mailing list. The questions do no matter. The model is simple, the higher the percentage of answers given by non project members, the more mature the project is.
NHProf, Open Source, Licensing and a WTF in a good sense
I have a Google alert setup for NH Prof. I got the following alert. I was willing to mutter a few choice curses and let it go, because there really isn't much that you can do about this. But then I followed up on the rest of the thread. Um... thanks? I mean, I sure appreciate the sentiment. But the fun continues... And the replies... Honestly, I wouldn't believe it if I didn't see it with my own eyes. acexman & cluka, thanks. Oufti, I don't think that I like you very...
A note to Microsoft: Agile or open source doesn’t excuse it being crap
I explicitly don’t want to go over the exact scenario that this is relating to. I want to talk about a general sentiment that I got from several people from Microsoft a few times, which I find annoying. It can be summed up pretty easily by this quote: You all know that we work on the Agile process here, right? We get something out (perhaps a little early) and then improve it. Codeplex is for open source and continuous improvement with community feedback. The context is a response to a critique about unacceptable...
The Common Service Locator library
Glenn and Chris has already gotten the word out, but that is an important piece of news.
The idea is based off a post that Jeremy Miller had about a month ago, having a common, shared interface across several IoC implementation. That would allow library authors to make use of the benefits of a container without taking a dependency on a particular implementation.
The alternative for that is to each library to create its own abstraction layer. A good example of that is NServiceBus' IBuilder interface, or ASP.NET MVC's IControllerFactory. That is just annoying, especially if you are integrating more than a...
On jQuery & Microsoft
No, I am not going to bore you with another repetition of the news. Yeah, Microsoft is going to bundle jQuery with Visual Studio and the ASP.Net MVC. That is important, but not quite as important as something else that I didn't see other people pointing out. This is the first time in a long time that I have seen Microsoft incorporating an Open Source project into their product line. I am both thrilled and shocked.
How to expose an OSS build server?
I just finished setting up a build server for Rhino Tools. Ideally, I want it to be publicly accessible, and have people download the build artifacts after each build. However, CC.Net is not something that you want to just expose to the web. It has no security model (any random Joe can just start a build, hence DOS). Any suggestions? I should note that anything that involves significant amount of time is going to be answered with: "Great, when can you help me do that".
It is alive! CodePlex has Subversion Access
It is so much fun to see things that I worked on coming alive. The official announcement is here, with all the boring details. You can skip all of that and go read the code directly using SVN by hitting: https://svnbridge.svn.codeplex.com/svn Switch svnbridge for your project, and you are done. Note that this is https. And yes, it should work with git-svn as well. Way cool!
Persistent DSL caching issues
A while ago I talked about persistent DSL caching. I was asked why my solution was not a builtin part of Rhino DSL. The reason for that is that this is actually a not so simple problem. Let me point out a few of the issues that are non obvious. Need to handle removal of scripts Need to handle updating scripts Need to handle new scripts Those are easy, sort of, but what about this one? Need to handle DSL updates ...
So where were you?
This post has really pissed me off:
It makes me sick to my stomach to think of all the good .NET projects that are now abandoned (or soon will be) because Microsoft seduced their authors away from doing anything that would actually benefit the .NET community.
Excuse !
Who exactly said that I owe something to anybody? Who exactly said that any of the guys who went to work for Microsoft (many of whom I consider friends) owe you something. The entire post is a whine about "I can't get the software I want for free".
Well, guess what, no one said...
A question of usage
I have a problem as an OSS developer. If I am doing my "job" right, producing easy to use, functional and useful, I am never going to hear from the users. In ALT.Net Israel and in several other engagement lately, it has come to my attention that a lot more people using some of my projects than I ever assumed. I know that a lot of people are using Rhino Mocks, and this week I found a lot more big users of NHibernate than I knew off, but I wasn't really surprised. I know that Rhino Commons and Rhino...
In search of an embedded DB
I need to use an embedded DB in a project. Naturally, I turned to my old friend, SQLite. It has served me well in the past, and I am well versed in all its tricks. Except... SQLite really fall apart when you are talking about even moderately multi threaded applications. By that I mean, it works just as advertised, for sure. It just lock the entire DB when used, which tend to kill other threads who want to access the poor DB. I then turned to FireBird, but a short spike told me that it is... inadequate. I managed...
NMemcached: A WCF experiment
While doing a code review of NMemcached it started to bother me just how much of the application was infrastructure and argument parsing code. It shouldn't be this way. So I decided to port the whole thing to WCF and see how it works. Porting it wasn't hard, and significantly reduced the amount of code in the application. After updating all the tests and verifying that I fixed all the things I broke, I built an appropriate memcache client and started perf testing again. As a reminder, native Memcached server managed to field 10,000 reads...
Scratching an itch: NMemcached
Last night I found myself up at 1 AM, feeling restless. I decided that I need a new project, something that is very simple and will allow me to channel some energy. I decided to pursue something that I have long been curious about, build a Memcached server in .Net. The Memcached server is a distributed cache server that is very popular in the Ruby, PHP & Perl worlds, with some following on both Java & .Net side. It is written in C, and it is has some fairly interesting characteristics. Chief among them, it is a straightforward technical...
Funding Open Source Projects
That was the topic under discussion in the first ALT.Net talks today. There weren't that many people at the talk, but it was very focused and useful.
In general, there aren't that many ways of funding OSS projects. Note that I am talking here from the perspective of the developers who does the actual work, and how they get compensated for their time and effort. This exclude reasons such as scratching an itch, or as a hobby.
The OSS work is useful for the day-to-day work of the developer. This is by far the more common model in the .Net...
Recursive dogfooding
Dogfooding: To say that a company "eats its own dog food" means that it uses the products that it makes. This happened a few days ago, I just finished adding a new feature to SvnBridge, and I was ready to commit. Now, I am very used to Subversion, so it is fairly obvious that I like keep using that. Except that SvnBridge is on CodePlex, which uses the TFS backend. If only someone would develop a bridge between the two... SvnBridge is mature enough that you can use...
CodePlex's SvnBridge
Recently I have been working on CodePlex's SvnBridge. This is an ambitious project, attempting to give a Subversion client the impression that it is working on Subversion while the real back end is a Team Foundation Server. I would have said that this is not possible, if I was asked. But not only this is possible, the CodePlex team actually got that working. A tiny disclaimer here, it is not 100% complete, but it is close enough to that that you can work normally with that without much issues. Some things still do not work, but they are generally...
Managed Operating Systems
Here is something that caught by surprise. Sharp OS and Cosmos OS are two operating systems written in C#. That is not something that you traditionally do with managed languages. So far I have had a look at Sharp OS source code, which seems nice, although I am taken aback by the amount of unsafe code that is there. Of course, it is not like there is much choice in the matter. I was particularly amused by the implementation on inline assembly: But other pieces of the code are make me feel that I am looking at some......
You need to control the stack
I have a fairly strong opinions about the way I build software, and I rarely want to compromise on them. When I want to build good software, I tend to do this with the hindsight of what is not working. As such, I tend to be... demanding from the tools that I use. What follows are a list of commits logs that I can directly correlate to requirements from Rhino Security. All of them are from the last week or so. NHiberante Applying patch (with modifications) from Jesse Napier, to support unlocking collections from the cache. Adding tests...
CodePlex, Performance and Usability
I am trying to get some code from CodePlex at the moment. Since I am used to SVN and its model,I downloaded SvnBridge and hooked it up, then tried to check out the source code. Fast forward about an hour later, and it is still have not checked out a single file. I am pretty sure that it is not an issue with the network, or anything like that. I believe that it is doing a full download of the source code locally, and then fake SVN from there, but I haven't checked. Then I tried the CodePlex Client, that...
Commercial Support for Open Source Software
I think that I have made this statement in the last 72 hours a dozen times at least, and I am getting sick of it, so I am putting it here to dry.
Big open source projects often have commercial support.
Castle Stronghold is the obvious place for commercial support for Castle.
JBoss / RedHat are offering commercial support for NHibernatea JBoss is no longer offering support for NHibernate.
Mindscape is offering commercial support for Castle.
All of those comes with SLA so you can have someone's throat to choke if you really wants to.
You know what, even Rhino Mocks has commercial support options.
So...
Whose time & effort?
Phil Haack has managed to convey my thoughts about MS duplicating existing work better than I could. Specifically, this is important: Duplication Is Not The Problem. Competition is healthy. If anything, the problem is, to stick with the evolution analogy, is that Microsoft because of its sheer might gives its creations quite the head start, to survive when the same product would die had it been released by a smaller company. I wrote Rhino Mocks for myself. It seems to be useful for other people, which is a happy coincidence, but I wrote it for myself. One thing that I...
Reasons for caring: Microsoft & OSS
In the ALT.Net mailing list, we are having a discussion about the CAB and OB. Part of this discussion include this dialog between me and Brad Wilson. Brad: If you're simply angry because we had the audacity to make our own object factory with DI, then I can't help you; the fact that P&P did ObjectBuilder does not invalidate any other object factory and/or DI container. Ayende: No, it doesn't. But it is a waste of time and effort. Brad: In all seriousness: why should you care if I waste my time? That question prompt this post, because I...
Releasing Open Source
Chad Myers asks in the ALT.Net mailing list: Why are OSS folks to scared of calling something 'released'? I'm guessing that MonoRail's "RC" code is 10x better than the released version of most corporate software out there. While I am not going to argue about the quality of the Castle code base, there is quite a bit more to the producing a release than just having good code. No, being scared of bugs is decidedly not the reason. Of the top of my head, in order to get a good release out the door you need to compile a release...
Open Source & Forking
Joe raises an interesting question as a result of my post about Dunn & Churchill forking a commercial version of Active Record. I mentioned that I am alright, personally, with this behavior, and he asks: Why would you be alright with that? Hammett, yourself and others have put countless hours in to the project and then these two dopes repackage and sell your work. I understand that legally it may be OK, but it doesn't pass muster in any way at all ethically. We have two different things going on here at once. I certainly don't like it, I...
Imitation is the sincerest form of flattery
Well, I guess that Castle Active Record just a whole shower of flattery. This was just posted to the Castle Forums, apparently Dunn & Churchill have a product called Diamond Binding that looks very much like Castle Active Record. There is a code project article about it here, and from the API and the license files, it looks like they have taken the Castle Active Record source and repackaged it. Now, this is allowed by the license, and this is something that I am perfectly fine at. It looks like they did some nice things with VS integration, but that is...
Microsoft and opening the code: damned if you do, damned if you don't
Here is another perspective of the results of making the source available. At that point, Microsoft really doesn't have a good way to get out of it. People want to get the source (I am one of them), but at the same time, they are fearful of legal actions as a result of looking at the source and doing any sort of development (again, I am one of them). What is required is trust, and Microsoft is still paying for its actions of old (and its actions as of few months ago, patents & OSS, for example) in that regard.
Look, don't touch: Clearing the misconceptions about opening CLR libraries sources
Important note: I am representing my own conclusions here, not anyone's official position. First and foremost, the CLR libraries are not open source. Let us talk about licenses, and what they gives us. By default, even if I have the source for a library, I can't really do anything with it. That is because the authors of the library retain copyright and you don't have any rights to do anything with it. Open Source explicitly gives you certain rights (usually modifications and redistribution rights) for the source. The license that Microsoft is currently talking about is a...
The CLR Sources
I have no idea why this isn't in much wider circulation, but this is huge. ScottGu has announced that Microsoft is Releasing the Source Code for the .NET Framework Libraries. I am disappointed to see that even in the tiny source code samples that he has in the post I have violent disagreements (they speak about sealing stuff, which I have serious objection to). This hopefully means a lot less ReflectorDebugging, although I am not sure about all the implication that this has.
NHibernate – not all that glitters is gold
Manuel Abadia has some criticism on NHibernate that I wanted to respond to. First things first, though, it seems that I have been hasty in my response to a problem that Manuel reported, NH-1123. I really don't like it when other people do it to me, and I would like to apologize to Manuel for treating him in a manner I don't wish to be treated. As an aside, I have created a new bug on the JIRA, with a bit more focus on the underlying problem. This bug has now been fixed, and I would like to thank Manuel for (a) finding it, (b)...
They don't owe you anything
This post really annoys me, the author is talking about moving to Subversion from Bazar as the source control of the project, because people didn't want to install Bazar, then he goes off and says this: Unfortunately, this kind of laziness has become pervasive in the Free Software world, as compared to say 10 years ago. Back then it was all but expected that you’d have to fix the build to get something working. But it was fine, because you would fix it and send a quick patch. Believe it or not, this actually felt pretty awesome. You were...
It is not a competition: OSS & Microsoft
This comment on Anders' blog has been brought to my attention: I really enjoyed what Anders and Ayende did when they took the piss with Microsoft's "cool" new technologies when they wrote Mean Fiddler and Bumbler in record time. Its a pity that these master programmers don't want to continue developing these frameworks - it would be soooo cool to see open source alternatives to M$ stuff taking the lead before M$ are able to release anything themselves. Anders' post is about new development with Fiddler, exposing NHibernate's entities over REST services (which deserves another post all together). I wanted to respond to this...
Documentation Contributions
This is a question for the audience, assume that you have 500$, what would be the best way to spend them in a way that would improve the documentation for Castle, NHibernate or Rhino Tools? (Just to point out, the 500$ is not related in any way to Jeff's donations, except the overall idea)
Supporting OSS in the .Net Space
Jeff Atwood wants to donate 10,000$ to open source projects in .Net-land. Check the comments, they are very interesting. This raises the question of whatever monetary support is the best way to support OSS projects. I really appreciate Jeff's efforts, and I think that they would do wonders for the moral of the developers that gets the money. However, I want to point out some other ways to contribute, just as important, if not more so, than money: Contributing to the documentation: Tutorials Gotchas How-to Samples F.A.Q Participating in the community (forums, mailing lists, etc) - answer questions that...
StoryVerse (and very cool search technique)
StoryVerse is an agile management web application, based on MonoRail & Active Record. The UI is very googlish in nature, and I really like it. Still very early in the project, but showing a lot of promise. The way that the guys from LunaVerse are using the criteria objects had me scratching my head for a while, until I saw how it is used on the controller, then I had a "Wow! That is cool!" momemt. Here is a sample:public void SearchProject([DataBind("project")] ProjectSearchCriteria projectSearchCriteria) { PropertyBag["projects"] = Project.FindAll( projectSearchCriteria.ToDetachedCriteria() ); ...
Open Invitation: Experiance via Open Source
I just responded to a message on the Israeli .NET dev forum, where the poster asked how they can gain experiance when all the jobs require experience. The poster assumed that in order to contribute to an open source project, he would need experience as well.Personal fact: My professional (commercial/getting-paid-to-do-this) experience in programming: 1 year, 5 months, 1 week. Talking from a head hunter point of view, I am not even rated for a beginner's job. Well, consider this an open invitation for anyone that can pick up an if statement, to contribute...
Losing the Alpha Geeks: It is not about OSS
Scott Hanselman has a post titled: Is Microsoft losing the Alpha Geeks?The collective group in the discussion at RailsConf seemed to agree that Microsoft should make not just the DLR source available, but actually create a non-profit organization, ala Mozilla, and transfer the developers over to that company. They should allow commits to the code from the outside, which should help get around some of the vagaries of the GPL/LGPL licensed Ruby Test Suites. "IronRuby" should be collectively owned by the community. In general, I would think that such an organization would be...
On The Health Of Open Source Projects
Last night at the OSS panel, it was asked what are the indicators for a healthy OSS project. In my opinion, it is the size of the community and the number of active committers. A good example of a project that wasn't healthy is NDoc, when the lead (single?) developer left, the project was mostly stranded, and the community basically died around it. A good example of a healthy OSS project is Castle, where we currently have ~20 active committers, and a very active community. By the way, by this metric,...
Mean Fiddler: REST-style query service for NHibernate
Continuing with the theme of showing off and building clones of the Microsoft's demos in hours, Anders Norås has just posted Mean Fiddler, an implementation of REST API for NHibernate, similar to Microsoft's Astoria project. Nice work.
Quartz.Net for scheduling
Just run into this project, another port from the Java Land, which looks really interesting. Basically, it is a job scheduling framework. I have need of that in a previous application - which meant that I had to write a simple version of that, and I was very happy with it, until I realized that I had a convoy issue that was so severe that it killed the application under heavy load (discoveed 6 months into production, naturally). In my current project, there are quite a few things that I mark as "TODO...
Microsoft and shipping OSS
Jon Galloway presents an interesting point of view about why Microsoft can't ship open source code. Basically, it boils down to the fear that an Open Source project that is licensed under a permissive license will "aquire" a piece of code that originated from GPL code, thus infecting the rest of the code distributing with that project with the GPL license. The implications of which would cause either (A) windows itself to be GPLed, (B) tremendous costs for recalling and replacing the GPLed sections. The example given is distibuting Paint.NET, where a GPL code found...
TFS vs. OSS - Round 4
Aha, my dear colleague. Yet you continue to use Visual Studio .NET, which, even without team system, has it's share of usability problems for you, I'm Sure. Why not use notepad or eclipse for writing the code, then running a command line to compile it, then use an XML Editor to change the config files? Why are you using a suite of integrated tools to develop code, in an environment which you probably aren't that crazy over? ...
Exensability: Ask, and you shall recieve
Bil Simser has a few things to comment about me and Roy's discussion about TFS vs. the OSS stack:Yes, other packages out there are extensible by nature (Subversion for example) but require coding, architectural changes, hooking into events, all of which are nice but systems like this were not designed for it. That depends on what you want, but usually coding is not involved, scripting usually does. Arhcitectural changes, etc, are usually not involved.Was subversion really designed at the start to be extensible so I could maybe have my storage be in...
TFS Vs. Open Source tools
This is getting fun, another reply from Roy in our discussion about TFS vs the other alternatives. Regarding my last post, Oren (Ayende) points out that regarding TFS's features, he can either find a match for them in open source land, or he doesn't really care about them. What bugs me is whether, assuming you can find and create such a solution out of a package of open...
TFS, Zero Friction and living in an imperfect world
Roy responded to my post about disliking TFS: I think that Oren is making one big mistake: he's throwing the baby out with the bath water. Just because the source control is not as zero-friction as some open source alternatives, does not mean that TFS is not a valuable suite of tools, with more added value than most open source tools that I know of. [List of advantages that TFS...
OSS Weekend
I have been slacking my OSS duties recently, spent a whole lot more time relaxing than anything else. It was fun, but it had to end sometimes. It ended when the "to do" list got over 50 items. At that point I knew that I had to do something or drown under the sheer amount of stuff that I postphoned. I decided to dedicate some time over the weekend to weed out the todo list. Not surprisingly, quite a few of the todos were related to OSS projects I contribute to. There...
CodePlex, TFS and Subversion
Interestingly enough, Subversion support is the most requested feature for CodePlex. I suggest reading the discussion, it is very interesting. The major points against TFS and for SVN seems to be: Weak offline access support No patching No anonymous access The points above makes TFS a poor choice for an OSS project, which requires all three (but especially anonymous access...
CodePlex SNAFU
I found this mostly by accident, but it looks like a few weeks ago CodePlex has lost the source code for some of the projects hosted on the site. I would like to address the part about "free means no guarantees" that came up in the post:CodePlex is a free service. They've provided complete source code hosting along with one heck of a website and never asked for a cent in return. So, I really can't hold it against them. I would. Regardless of the legalese involved. I have certain expectations from such...
Open source and the programmer's dilemma
Nick Carr is quoting an IEEE article about OSS Economics. I am going to respond to the article later, rigth now I wanted to comment on this piece:Given the natural imbalance between employers and employees, this aspect of open source is likely to increase competition for jobs and drive down salaries. I have one word to say to it, rubbish! I have stated it before, working on open source software means that you have credentials. There is nothing that speaks louder than code for developers. And experianced developers are worth quite a bit,...
An Open Letter to Scott Guthrie
Speaking and working with developers who live daily with your tools, I find confusion and concern over your relationship to the open source community that has grown up around the .Net platform. While Sun, IBM, other platform providers, and ISVs clearly see the open source community as a complimentary codebase to their products, Microsoft tends to use the best and brightest work from the community space as a feature map for .Net. See the full post. (Via Hammet)
Competing with the community
Jeffery's post about Microsoft MVC prototype brought some interesting questions. The most interesting one is, why can't they just use MonoRail? It is here, it is mature, and the license allows it. Jeffery's response to these suggestions was: Reinvent the wheel? Microsoft doesn't have the option of incorporating MonoRail into ASP.NET. They don't own the intellectual property. Microsoft has many, many customers who want _them_ to provide and support extensions to ASP.NET. I, for one, use many, many open-source and 3rd...
Do you use OSS tools for .Net development?
Jeremy Millier asks this question here. My answer is obviously YES. My current project is using: Windsor for IoC Various Windsor facilities (automatic transaction support) Active Record for NHibernate sans XML NHibernate for data...
How To Tell The Open Source Winners From The Losers
Check out this link, I will admit that I haven't read the article, but there seems to be a nice chart that summarize it at the bottom of the page. Basically, it lists 9 things that they think an OSS project should have in order to be successful. I had a some comments about each of those: A thriving community - yes, indeed, I would go further and say that you need a thriving developer community. Ref: NDoc for what happens when it is not...
Adding SVN functionality to CodePlex
Apperantly there is a standing request that didn't get a lot of votes here. I am not sure that the world need another OSS SVN hoster, but go for it anyway.
Team Foundation Scalability ??? And why CodePlex exists?
I got a comment from Jonathan Wanagel on my CodePlex WTF. I complained that I couldn't get an access to source via Team System. I do not consider tarballs to be a good way of getting source for projects that I may be interested at. There is too much stuff that I cannot do that I should be able to (diff, reverts, easy update to new revision, patches, etc). Here is the comment:Unfortunately TFS isn't scalable enough to support all the anonymous users on CodePlex, so we restrict SCC access to project team members...
CodePlex WTF?
I want to take a look at a project on CodePlex, so I registered, and then took a look at how I can get the code from the repository. I already have the Team Foundation client installed, so I figured it should be no issue.
I got to the documentation and looked at this:
I then went to the project that I am interested at, and went to the source control tab:
Can you see my problem? It looks...
Coding Metrics
Take a look at those: Castle: (removed image) Rhino Tools: (removed image) I run Ohloh before, but this time it is for my own stuff, and it looks like my Rhino Tools projects is over 70,000 Lines of code, and is worth close to 1 million dollars. I find it interesting that it is valued at 17 man years, though :-) ...
Can Microsoft's Developer Division Compete?
Mike Schinkel has a couple of posts about Microsoft development division that makes for an interesting read: Can Microsoft's Developer Division Compete Moving Forward? Clarifying my Microsoft Developer Division Rant Be sure to check the comments, Eric Lippert has responded with some very interesting insight. And there is some very interesting discussion beyond that. My own comment to...
Open Sourcing SQL Server
[Via Stefano] I reached this post about a thought experiment regarding open sourcing SQL Server under the GPL. The author is a former Microsoft employee, and he spends quite a bit of time trying to explain how GPLing SQL Server will not hurt Microsoft business model. The terms that he suggests are similar to the way MySQL works, a GPLed products for free and a commercial version + support avialable for $$$. I just don't see the point here. SQL Server is one of those products that I feel that I can rely...
OSS & Duplication of effort
David Hayden responded to my and Jeremy Miller posts about OSS in Microsoft world. He raised the following issue:One of the things that I have noticed in the Microsoft OSS Community ( and this may not be unique to this community ) is the duplication of effort. This duplication of effort is no doubt slowing the overall progress of all projects, but it also makes it dang confusing and sometimes utterly impossible to know what niche a project fulfills, the amount of community support around it, how it overlaps and differentiates itself with similar projects, etc. He...
My OSS Stack
This includes only the stuff that I have need to change / modify, so stuff like log4net, NUnit, NAnt are not here, but they are certainly part of the stack :-)
The Problem of Open Source in the Microsoft World
I hope that this post will reach more than the usual readers of this blog, so let me introduce my open source resume:I am an active member (committer) of two big open source projects, NHibernate and Castle, own an open source project, Rhino Mocks (which is a part of Rhino Tools, a bigger OSS effort), and a semi-active member of an open source lagnauge on .Net, Boo. I am a heavy user of open source tools (Subversion, trac, log4net, nunit, nant, cuyahoga, dasblog, to mention just a few). I have been actively involved in the open source community in the...
Open Source Tidbit
I just gotten an email from a client that is using NHibernate. It was hard, getting them to use NHibernate. They had a lot of resistance to use something that is not Microsoft, and is open source to boot*. That email contained a fix for NH-736, which I closed some time ago, thinking it was fixed (it was, for queries, but not for entities). I haven't got them to the point that they are making patches yet, but this looks like a very good step in the right direction. * Yes, I know,...
Rhino Tools Worth $1,000,000 ?!
I registered Rhino Tools with Ohloh (which, in Hebrew, means "On no!"), you can find the project site here. Ohloh is a project assesment site, you point it at a repository, and it does its thinks and push a nice graph in the end. Appernatly, it would take 18 years and nearly million dollars to create Rhino Tools. I'm also very surprised by the amount of code that it found, 75 thousands lines of code? I told it to estimate Castle, I wonder what it would...
NHibernate Query Generator 1.5 Is Done! [Time With Magic]
I have been working (and blogging about it) for a while, and I think that I finally hit the right combination of keys to make it compile, so I am shipping it :-) If you fail to recall, it started as a simple way to generate criteria queries in strongly typed manner. The first version didn't do much, and was fairly simple. As soon as I started using it, I began to want more, much more. If I was working with an open compiler (Boo), I could have written this as an extentions and...
The New Repository: Rhino Tools
Following the advice from the comments, I have managed to consolidate my various OSS SVN repositories into a single one, hosted at source forge. I was quite suprised that it was so much, to tell you the truth. The repository URL is: https://svn.sourceforge.net/svnroot/rhino-tools/trunk/ To checkout, execute:svn co https://svn.sourceforge.net/svnroot/rhino-tools/trunk/ rhino-tools There is no password necceary for reads. I'll be update the various links on the site to point to the correct location soon.
On Open Source
You probably have heard that NDoc's lead developer, Kevin Downs, has announce that the NDoc is Dead. It also came up in the NHibernate devel mailing list, mostly as questions as to the viablity of open source. I can't tell why other people are working on OSS, some do it for fun, others because it gives them tools or advantages for later on. It is rare that people are getting paid to work on Open Source Software. I know that I started this to sharpen my skills, and right now I am doing this...
Harvesting For Frameworks
It is getting to that point in again where I find that I am writing the same code in several projects, and I get tired of that by the third repetition. It is time to harvest those projects for reusable pieces. At the moment I am planning on making this a part of Rhino Commons (what can I say, I like my Rhinos :-) ). Currently I am planning the following additions: Extentions to Windsor that includes: ...
Rhino Commons
I made some updates to my commons library. It is just a set of utility classes that I find useful. At the moment it contains: Static Reflection Bulk Deleter Collection Actions - Find, Select All, Select All Not, etc Date Range with operations - For Each...
NHibernate Commiter
I just wanted to announce that I have been choosen as a commiter in NHibernate :-D
On Memcached
For some reason, I have not heard much about Memcached in the .Net circles, which is a shame. Memcached is a distributed memory caching system, which makes it very interesting for ASP.Net applications in web farms scenarios (but not just), since the ASP.Net cache is local cache, and can go out of sync with the other caches on the The basic idea is that a Memcached server is listening on a port, and you set and get data from it. So far, it is not very exciting, but the nice part is...
Big Company Open Source Behavior Patterns
Here is an interesting post about OSS and big companies. It seems to be focused on unix/java side of the fence, though. It makes no mention of Microsoft, although my experiance with them is something like "This open source product is interesting, but you should use our product XYZ, the next version will have all the features that you want."
get-state "Open Source Projects"
Scott Hanselman posted about open source projects. He poses the question: "If you work on a Open Source Project, why do you do it? When will you stop?" I literally has to stop and think about the number of open source projects I'm involved with. Right now it is: Rhino Mocks - Under active development with a community that send patches when they run into problems. Really cool project. Started because I had too many problems with NMock and refactoring. ...