Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET 4.5
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Amazon Web Services
Analysis Services
Android
Architecture
Arduino
ASP .NET Web API
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
BDD
Big Data
Bing
BizTalk
Book Excerpts
Build and Deploy
Business Intelligence
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE Framework Info - non Technical
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Debugger
Design Patterns
Development Process
Display Technologies
Distributed Computing
Document Database
DotNetNuke
DSL
Dynamic Languages
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
HTML 5
Internet Explorer 8.0
Interviews
IOS
iPhone
Iron Ruby
Java
Java Script
JavaScript
jQuery
JSON
Lightswitch
LINQ
Linux
LUA
Mac OS X
MDX
Messaging
Metro
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
MVVM
MySQL
Network
NHibernate
node.js
NOSQL
Nuget
Object Oriented Development
Objective C
Odata
OLAP
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
PHP
Podcasts
Post Mortem
PowerPoint
Print/Output
Prism
Product News
Product Reviews
Project Management
Prolog
Python
Q&A
Rails
Rake
Razor
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Scheme
Search
Security
Services
SharePoint
SignalR
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server 2012
SQL Server CE/AnyWhere/Mobile/Compact
SSIS
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
TFS
Tips
TypeScript
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 11
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2011
Visual Studio 2012
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WebMatrix
WF
Whitepapers
Windows 7
Windows 8
Windows Azure
Windows Live
Windows Phone 7
Windows Phone SDK
Windows Server
Windows Vista
WinForms
WinRT
Workflow
WPF
XAML
Xiine Documentation
XML
XNA
XSLT



Component One


LearnNow
 


RssBus

Reader rating:
Article source: CoDe (2012 May/Jun)

The Times they are A-changin!


Rod Paddock

Two years ago we dedicated an entire issue of CODE Magazine to the concept of open source software. In my editorial titled “Open Source Software” http://www.code-magazine.com/Article.aspx?quickid=0906011, I gave an overview of the landscape of Open Source Software (OSS) as it pertained to the .NET developer. I am amazed how much things have changed in such a just a few short years.

Open source has come to the Microsoft ecosystem in full force. For a company that only ten years ago called open source software a cancer (http://en.wikipedia.org/wiki/Steve_Ballmer#Free_and_open_source_software) the sea change is remarkable.

Last month was full of news on the Microsoft open source news front. We learned that Microsoft is one of the top 20 committers to the Linux kernel (http://www.linuxfoundation.org/news-media/announcements/2012/04/linux-foundation-releases-annual-linux-development-report).

Not soon after the news of Microsoft’s commitment to the Linux kernel came the bombshell: Microsoft released ASP.NET MVC, Web API and the Razor view engine under an open source license. The Apache 2.0 license to be exact! As Bob Dylan says: “The times they are a-changin’.”

But wait, it gets better. Microsoft is also starting a new wholly owned subsidiary called “Microsoft Open Technologies, Inc. (http://blogs.technet.com/b/port25/archive/2012/04/12/announcing-one-more-way-microsoft-will-engage-with-the-open-source-and-standards-communities.aspx) This organization will work with standards initiatives and open source projects. The press release is like a who’s who of the open source ecosystem: Linux, Hadoop, MongoDB, PhoneGap, etc. The benefit of Microsoft supporting these projects will be felt around the world. I know a lot of my clients will look more favorably on adopting open source software now that Microsoft has demonstrated their commitment.

Why is Microsoft Making these Open Source Moves?

A number of questions arise from these new developments. I will try and answer a few of them here:

Wasn’t MVC already OSS?

Yes and no. ASP.NET MVC was released under the MS-PL license. This license gave you access to the code, permission to fork it and create your own derivative but it was missing a critical characteristic of more permissive licenses. Microsoft didn’t allow outsiders to commit patches to the core source code. With Microsoft’s announcement in March 2012, this is no longer true. Microsoft now takes submissions to the core source code. As a matter of fact, they already have and it didn’t take long for it to happen.

What does this announcement really mean?

You have access to the code and you can create your own fork of the code and make changes to that. When you make changes you can then submit them to the team for inclusion into the mainline product.

Now that the code is under Apache, what happens next?

I am highly interested to see how this process progresses. I think the development community will collectively turn an important corner when Microsoft adds non-Microsoft employees to the “core” team. What does this mean? Most OSS projects have “core” teams that are the final gatekeepers to accepting changes into the mainline source code tree. Currently there are no non-Microsoft employees with this ability. I don’t expect this to happen by fiat. Adoption into the core team will happen organically, but I can see a person that frequently contributes patches will eventually be added to the team.

How do you participate?

The Microsoft development team that maintains these projects has developed a good set of guidelines for developers to follow when submitting patches. A lot of the ideas for getting started are pretty simple: add a unit test, fix a defect, search for a TODO comment in the source code. Click over to this Web page for guidelines that can help you get started as a contributor: http://aspnetwebstack.codeplex.com/wikipage?title=Contributing&;referringTitle=Home.

With Great Power Comes Great Responsibility

I recently had an interesting conversation about feature requests for ASP.NET MVC. This discussion occurred shortly after Microsoft’s decision to open source big parts of the ASP.NET stack. The biggest takeaway I had is that software developers and consumers of Microsoft products need to change our world view when it comes to new features. In the case of ASP.NET MVC, Web API and the Razor view engine, the adoption of new features now lies partially in the hands of the community. Want a new template? Just do it! Want a new overload for a function? Just do it! Want to unseal all the classes: Just do it! (Please someone, do it!) The responsibility for adding features no longer rests solely in the hands of Microsoft. It’s up to us as a community to make these happen.


How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
0 out of 5

0 people have rated this article.

Hacker Halted

      Learn Now

 

RssBus