Open source projects in .NET are flourishing. Can mainstream open source developers continue to ignore the platform that exerts such a large influence on IT development globally? Come prepared to challenge your assumptions about OSS development in .NET, and to learn about the state of OSS in .NET and how the Mono Project fits into this picture. Mono is an open development initiative sponsored by Novell to develop an open source, UNIX version of the Microsoft .NET development platform. Its objective is to enable UNIX developers to build and deploy cross-platform .NET applications on Linux, BSD, UNIX, Mac OS X, Solaris, iPhone and Windows.This presentation will provide an introduction to OSS in .NET, with a particular focus on how Mono 2.4 brings the benefits of the .NET framework to platforms beyond Windows.
10. Java's write-once-run-everywherecapability along with its easy accessibility have propelled the software and Internet communities to embrace it as the de facto standard for writing applications for complex networks “JavaSoft Ships Java 1.0; Programming environment available free for developers” - Jan 23rd, 1996
19. Who's going to stand up and support open source? At least, with us, it's clear who you have to come and pound down on. There's a clear line of responsibility. http://www.theserverside.net/news/thread.tss?thread_id=27385 http://ceoworld.biz/ceo/wp-content/uploads/2009/01/steve-ballmer-microsoft-ceo.jpg
20. Technology innovation has happened much, much more from commercial software developers than from open source http://www.theserverside.net/news/thread.tss?thread_id=27385 http://ceoworld.biz/ceo/wp-content/uploads/2009/01/steve-ballmer-microsoft-ceo.jpg
35. Open Source & Free http://tirania.org/blog/archive/2007/Feb-21.html
36. APIs Server Third Party Client Postgress, MySQL Sqlite, Oracle, Sybase ASP.NET Gtk# Windows.Forms Tao.Framework Apache and FastCGI Mono.Cairo Gdk# C5 System.Data SQL Server Cocoa# Pango# NDesk.DBus Infrastructure Mono.ZeroConf Mono.Nat Mono.Cecil Mono.Addins Mono.RelaxNG Java/IKVM Novell.Ldap Mono.Fuse Gecko# (Mozilla) Mono.Nat Mono.Torrent Mono.Upnp Diagram sourced from Miguel de Icaza’s PDC2008 presentation at http://channel9.msdn.com/pdc2008/PC54/
Not talking aboutLicensing issuesComprehensive history.NET vs. Java vs. Ruby etc
Microsoft, Hewlett-Packard, and Intel work to standardize CLI and the C# programming language
Ratified as ECMA standards (#335, #334).
Miguel chose to implement Mono because he saw that C# is a very nice language that solves a lot of problems elegantly, so it would be a nice language to have available as an improvement over C and C++. The first target for Mono was for Linux desktop applications, where they built and offered GTK# as an improvement over GTK and GTK+, which is a graphics toolkit for the GNOME desktop.The project started in 2001, around the time that .NET was entering beta. It has progressed from there to encompass a lot more of .NET. Since those initial libraries, Mono has taken on ASP.NET and WinForms implementations, and it has been used in various interesting circumstances.
ISO standard in April (now ISO/IEC 23271:2006 and ISO/IEC 23270:2006).
Mono 1.0 released
Open source is a movement. A grass-roots movement. Organizations cannot win.
An open source .NET implementation:A subset of .NETSponsored by Novell~120 non-affiliated contributors (1.2 -> 2.0)Direction driven by contributorsGoal: have a compatible runtime to the CLRECMA specifications make it possibleDevelop, build, debug on Visual Studio or UnixDeploy on Linux, Mac OSX and embeddedMono offers a few bonusesTake .NET where no .NET has gone beforeOffering new forward-compatible featuresSupport special scenarios
Runs on Linux, OS X, BSD, and Microsoft Windows, including x86, x86-64, ARM, s390, PowerPC and much more
Develop in C# 3.0 (including LINQ)VB 8JavaPythonRuby (http://www.ironruby.net/)Eiffel (http://www.eiffel.com/)F# (http://research.microsoft.com/fsharp/)Oxygene (http://remobjects.com/oxygene), and more
Run ASP.NET, ADO.NET, and Windows.Forms 2.0 applications without recompilation
Comprehensive Technology Coverage, with bindings and managed implementations of many popular libraries and protocols
MonoDevelop is based on the SharpDevelop IDE:It has already some very advanced features like a tree of your code that is continuously updated as you write code. This is used today for an Intellisense-like completion but it can be used for implementing things like code refactoring or providing more semantic information as the user types.People that are comfortable with Visual Studio but want to transition their development to a Linux desktop will be more comfortable working in MonoDevelop than they would be in Eclipse. It also offers the benefit of letting .NET developers work in C# running under .NET, rather than trying to get them to switch to a Java based IDE; that is definitely an advantage. (from http://www.freesoftwaremagazine.com/articles/interview_miguel)
Paint.NET originated as a computer science senior design project during spring 2004 at Washington State University. Version 1.0 consisted of 36,000 lines of code and was written in fifteen weeks. Version 3.35 has approximately 162,000 lines of code. Development continues with two developers who now work at Microsoft and worked on previous versions of Paint.NET while they were students at WSU. As of May 2006 the program had been downloaded at least 2 million times, at a rate of about 180,000 per month. (from http://en.wikipedia.org/wiki/Paint.NET)
CommunityOver 95 developers have contributed to Banshee, and over 85 translators have worked to expand its reach. It was created by Aaron Bockover in early 2005. Novell employs Aaron and Gabriel Burt to work on Banshee. Banshee is strongly affiliated with the GNOME project.Technical SummaryBanshee is written in C# on the Mono platform using GNOME technologies (Gtk#, GStreamer, etc). It is free/open source software, released under the MIT/X11 license(from http://banshee-project.org/about)
Moonlight opportunity has been really the strongest endorsement we have gotten from them; they see it as a .NET implementation on Linux that can be used with Silverlight, and Microsoft wasn’t going to deliver that. (http://howsoftwareisbuilt.com/2008/10/08/interview-with-joseph-hill-mono/)
Statically link the Mono runtimes
OSS flourishing on .NET. Embrace it! Support it!OSS Developers have nothing in common They don’t share gender or income level or geography. There’s no gene, no schooling, no parentage, no profession.But they do have one thing in common Passion about their craft