Mono Weekly News (Dec 18th, 2002)

Overview

Welcome to the second MWN letter. As the year is ending, it's time to look back and see what the Mono people had been doing. We also start a two new sections, "the Mono spell" and "Meet the team".

Table of contents

1.1 Mono Commercial uses.

Tipic today announced their work on porting their Instant Messaging Server platform to run on Mono. Winfessor also announced the availability of their Jabber SDK to run on Mono.eAlso two weeks ago we mentioned OpenLink Software's announcement of their product, also using Mono.

1.2 Mono's ASP.NET does 1% of the market in one week!

Netcraft has published this survey where you can read the following statement: "around 1% of internet sites using ASP.Net are Linux based, but it is early days both for the Mono project and for .Net itself, and both will be hoping to grow very significantly from current levels." If you want to read more on this, follow this link.

1.3 More changes to MonoBasic.

Marco has been working a lot in the MonoBasic implementation and now the Try/Catch/Finally statements work, statically declared events work, For/Next/Step also work and properties work too!.

1.4 Transactions available in System.Data with Xml.

Ville has done some coding on XmlDataDocument. XmlDataDocument is the class which "communicates" with DataSet, so these "transactions" means updating, deleting, and adding DataRows and Datacolumns to DataSet.

1.5 Multiple threads support in the debugger.

The debugger is now getting multi-thread debugging support. Details: a global thread lock mechanism has been added, a new command line interface is there for everybody to use. Getting registers is working again. The ScriptingContext now supports a synchronous (for the command-line interpreter) and an asynchronous (for the gui) interface. BackTraceView is working. The handling of synchronous commands was improved.

1.6 Reflection.Emit can be used in Run mode.

Zoltan Varga has contributed the support for running code generated by Reflection.Emit. This means Reflection.Emit now support 'Run' mode and not only 'Save' mode as before. This allows us to generate code on the fly and hand it over to the JIT. Now we will be able to JIT compiler our regular expression patterns like MS implementation does.

1.7 More work in NUnit 2 integration.

A lot of test suites were added, as the ones for Publisher and PublisherMembershipCondition, for DataSet, Xml-tests, for StrongName, and StrongNamePublicKeyBlob.

1.8 Lots of improvements in ASP.NET.

Gonzalo has revised the C# generator that is much efficient than before, the user controls' automatic events are activated now properly. His work has made possible to load .ascx controls per program, to get datalist fixed and now all the test are working, the @Page, @Application and @Control are now available and he has started the authentification support using Forms. He has also fixed a coupple of validators and got the kernel32.dll not found warning out!.

1.9 Mono Annual Report.

No doubt, this has been the year where Mono has proved to be a serious project that is accomplishing the heraldic task of building an opensource implementation of .NET that will be available for everybody. After twelve months of development it's time to look back and see the what we have been doing. Here you can find a little resume with some OpenCalc charts.

1.10 Platano's out and GNOME# for Debian too!.

Alp Toker has released Platano, the very first Mono based media player. He has also packaged GNOME# capable packages, the deb urls are these:

1.11 Miguel and Mono in Business2.com.

Business2.com has published a very nice article about Miguel and Mono, you can read it here. If you get the magazine in print you can see a penguin and Miguel wearing a suit!.

1.12 Miguel for the Renegade Awards.

Miguel is one of the five people on the list of people on Wired Magazine's "Wired Rave Awards", for the 'Renegade of Year' award. So now you can vote for him here if you live inside the USA. If you don't... well, try to work out something.

2. Meet the team. This week Sebastien Pouliot.

The Mono team is integrated by contributors all over the world that are working really hard to get this project going further. In this section we will be meeting this people so we can know more about them and what they are doing.

This week we have been talking to Sebastien Pouliot in the IRC. Sebastien is the developer who has worked out most of the Cryptography classes in Mono. Let's see what he told us (before the kids came back!).

Interview with Sebastien Pouliot

MWN: So, Sebastien, would you like to explain to the Mono Community which are your interests in Mono?

S.Pouliot: I've been following mono evolution for the last year, well soon after I started programming in C#, as I was looking for people using the crypto classes.

MWN: And why did you took the System.Crypto namespace classes?. Are you a security developer?

S.Pouliot: My work involves security. However we don't often get the chance to code low-level stuff - like encryption algorithms. Those are almost always available before stating a project. I'm a security architect. I design security solution for products and some consulting for Motus Technologies (http://www.motus.com).

MWN: Since you are the Cryptography expert in the Mono Team, what can you say about the security design in .NET and the implementation Mono is doing?.

S.Pouliot: The .NET design (both CLR and the class library) is a big step toward a better security architecture. Just using managed code should solve many of the current security issues (like stack overrun). Mono is currently building features into it's class library. Eventually we'll have to ensure that every access to ressource is correctly protected. This will take some time but, being open-source, I'm sure mono will get (at least) as secure as the Microsoft implementation.

MWN: You have been in touch with a lot of the software in the Mono source tree, which of the classes you have contributed to are the ones you believe are more useful for the other developers?.

S.Pouliot: This is difficult to answer. Most people won't use any of the security classes directly. X509 certificates and RSA are the classes that may get used without the knowledge of the developpers like in code signing, permissions... the base are already there but more work is needed before we see them in action. Hopefully more and more developers will start using higher-level classes, i.e. outside Cryptography. It's so much easier to upgrade a SOAP web service to use WS-Security than to build your own secure communication. I'm just starting to look where are the crypto classes being used in the framework. So far I've compiled a small list inside corlib. I expect to find much more of them in other assembly. The hard part is getting people with different expertises to work at a single issue the same time - instead of iteratively. And this will be needed to complete the most complex classes (like Xml Signature which mix XML and digital signature).

MWN: Anything you'd like to say to the world?

S.Pouliot: One last thing. I was very lucky with people and I reused their own sources into Mono (like Sergey's MiniParser, BouncyCastle's asymmetric key generation, Chew Keong TAN's BigInteger class). Much of my work wouldn't be apparent without all those donations. Many thanks to them!

3. The Mono Spell.

I have much to learn about platanos :-). Alp Toker, our Platano guy.

4. CVS Activity.

This has been a bussy week. Here are the results. (*) Actually I am using the number of commits as measure, I will try to get more accurate aproximations in the future. (Starting Dec 10th, till Dec 17th)

Authors: Total 26

AuthorCommits
Alejandro Sanchez5
Daniel Morgan12
Dennis Hayes1
Dick Porter4
Duncan Mak4
Eduardo Garcia2
Gaurav Vaish2
Gonzalo Paniagua48
Jackson Harper3
Jaime Anguiano7
Jeroen Janssen14
Johannes Roith1
Jonathan Pryor2
Juli Mallett10
Marco Ridoni11
Martin Baulig116
Miguel de Icaza38
Mike Kestner1
Nick Drochak3
Rachel Hestilow7
Ravi Pratap2
Sebastien Pouliot13
Tim Haynes3
Ville Palo17
Zoltan Varga3

ModulesCommits
mono50
mono/jit3
mcs/mcs12
mcs/class99
mcs/class/corlib28
mcs/class/System.Web19
debugger116
Windows.Forms3
MonoLOGO7
gtk-sharp19
mbas14
monodoc12
mphoto1

5. Mailing List Activity.

Most of the mails were related to errors when installing and/or running the new release of Mono. Finally new packages were released and all those problems disappeared.

There was some discussion about why is Nant being used instead of make, the answer is simple: "Sean thought it was better than make and volunteered to do the work".

People have noticed that Mono is being monitored by lots of media. And they have sent emails reflecting this. Here are some interesting links: Wininformant, News.Com and Zdnet.

The C++ and CLR thread was also quite interesting. Someone was asking if CIL and Mono support the multiple inheritance and related questions. The fact is the CIL doesn't need to be modified, multiple-inheritance is supported by C++ and Eiffel using different mechanisms. The Mono team position is clear, remaining compatibility with Microsoft CIL is more important than extending issues so people are invited to do their reseach using the Mono platform and then submitting the propose to ECMA for standarization, but that is not going to be done from Mono (at least in a long time).

Please visit us at the homepage of the Mono Project: http://www.go-mono.org