Slashdot Mirror


MS: Use the Source, Luke!

McSpew writes: "The WSJ (via MSNBC) has an article about Microsoft's upcoming push to get universities to use .NET code in programming courses. Their code-sharing initiative is all about winning hearts-and-minds at the university level, where Linux and open-source rule the day. The article does a good job of explaining the issues and why MS may yet fail in spite of their push. I wish the article had discussed the reverse-engineering issues of needing 'virgins' who have never seen the product being reverse-engineered and how MS's newly broad distribution of its code makes finding virgins much more difficult."

13 of 454 comments (clear)

  1. Uhh... no by FortKnox · · Score: 4, Informative

    Their code-sharing initiative is all about winning hearts-and-minds at the university level, where Linux and open-source rule the day

    Yeah, I used Unix (not Linux) in programming courses when I was in college, but most colleges now-a-days use Win2K labs and are phasing out their Unix labs (same programming courses in my college are using Visual Studio's version of C++).

    Sorry to burst your bubble, but lately Linux and open source aren't "ruling" at the university level.

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
    1. Re:Uhh... no by cscx · · Score: 2, Informative

      The exchange server most likely has Outlook Web Access... so anyplace with a web browser you can access the Exchange server.

      And now, I don't want to hear that "I'm at the console" crap. I'm sure you can find a computer with a web browser in the vicinity.

    2. Re:Uhh... no by slashdot_commentator · · Score: 3, Informative


      The funny thing though is that I had a bit of a debate with the C++ professor as she seemed to think that a) XEmacs is better than GNU Emacs b) MSVC++ is better than both of them. Of course, she also thought that Fortran was better than C :) That's why women don't make good programmer ;-) (j/k)

      1) Haven't used xemacs enough to form an opinion.

      2) MSVC++ is better than either (as an IDE). It comes with a built in debugger, a class browser, and little knickknacks like color formatting. To imply otherwise is like implying that Linux is a better desktop for endusers.

      3) FORTRAN is better than C in non-text handling situations and in performance. A math oriented problem coded in FORTRAN by a sharp programmer will blow away a similar coded C program. (This is because of C's overhead, and math libraries in FORTRAN benefit from 50+ years of fine tuning.) It sounds like she will still be a better programmer than you.

      --
      There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon
    3. Re:Uhh... no by spectecjr · · Score: 3, Informative

      Wow. You haven't even used MSVC++, have you? Not once, by the sound of it.

      Something things MSVC++ doesn't have that Emacs does:

      1) Keyboard macros - anything can be assigned to a keyboard macro and macros can be executed n number of times. I used to work with a traditional IDE and I cannot even begin to tell you how much time this saves. This is usually the thing that makes people love Emacs.


      Tools -> Record Quick Macro
      Tools -> Play Quick Macro

      That gives you simple ones. They can be assigned to specific keys using Tools -> Customize...

      You can also write your own macros in script - which can do a lot more than the keyboard ones.

      You can also write your own add-in tools (in any language you care to use) that plug into the IDE and allow you to customize it at such a level that you can do *ANYTHING* with it.

      2) Built in commands for navigating the source by statements or keywords. This lets me write really advanced macros that can say skip five parameters in a function and then do something.

      This isn't in there that I can see; but I'm certain that you could write a macro to do it. Certainly, you can use the source browser to walk through it instead.

      3) Regular expression searching.

      What kind of crack are you smoking? This is built into BOTH the *STANDARD* Find box and the Find In Files box. Check the "Regular Expression" checkbox, and hey presto - regexp searches.

      4) Fully customizable via LISP. There are incredibly things that can be done with LISP. We have commenting standards at my work and someone just wrote a quick LISP script that inserts the proper comments in all the right places in a C/C++ source file.

      Fully customizable via VBScript, C++, C, Visual Basic, PERL, Java, etc etc etc etc etc etc etc. Just write an addin. Or any other script.

      Sheesh.

      Simon

      --
      Coming soon - pyrogyra
  2. Re:Non-compete by splume · · Score: 5, Informative

    Actually, I was reading the EULA waiting for the presentation to start, and with the copy of VS .NET it stated that any software you created with the academic version absolutly HAD to port to a MS OS! Talk about locking you in. Sheesh.

    --

    Who is John Galt?
  3. the .NET CLI sourcecode is released today by Otis_INF · · Score: 3, Informative

    http://msdn.microsoft.com/downloads/default.asp?UR L=/downloads/sample.asp?url=/msdn-files/027/001/90 1/msdncompositedoc.xml. Shared source license, but you can use it in classes and courses. So the push is definitely there. The sourcecode is for Windows and FreeBSD

    --
    Never underestimate the relief of true separation of Religion and State.
  4. More Information: Taken From My K5 Submission by Carnage4Life · · Score: 5, Informative
    Microsoft has released a shared source implementation of the Common Language Runtime (CLI).The Common Language Infrastructure (CLI) is the ECMA standard that describes the core of the .NET Framework world. The Shared Source CLI is a compressed archive of the source code to a working implementation of the ECMA CLI and the ECMA C# language specification. The shared source CLI license is available here.

    Features
    • An implementation of the runtime for the Common Language Infrastructure (ECMA-335) that builds and runs on Windows XP and FreeBSD
    • Compilers that work with the Shared Source CLI for C# (ECMA-334) and JScript
    • Development tools for working with the Shared Source CLI such as assembler/disassemblers (ilasm, ildasm), a debugger (cordbg), metadata introspection (metainfo), and other utilities
    • The Platform Adaptation Layer (PAL) used to port the Shared Source CLI from Windows XP to FreeBSD
    • Build environment tools (nmake, build, and others)
    • Documentation for the implementation
    • Test suites used to verify the implementation
    [This is mostly cut & paste from the MSDN page]

    A few semi-interesting threads have started about this on K5 including this one and this one.
  5. Re:XP and .NET - Not gonna' do' it by govtcheez · · Score: 1, Informative

    You do realize that any university can get the entire source to Windows for free, don't you? I'm sure there's going to be a similar policy with .NET. As a "govt network admin", I'm sure you do.

  6. Comment removed by account_deleted · · Score: 3, Informative

    Comment removed based on user account deletion

  7. What is .NET? Arstechnica tells you. by truelight · · Score: 2, Informative
  8. Mono by miguel · · Score: 5, Informative

    The Mono implementation (http://www.go-mono.com) and yesterday's release (Mono 0.10) does provide pretty much everything that the Shared Source release does.

    Get your bits now!

    Miguel

  9. Shared Source License by crisco · · Score: 4, Informative
    I was surprised to find out I didn't have to register with Passport, click through something on their website to download the product or even click through an installer license to get at the 'goods'.

    From my brief review, it appears that they are primarily concerned with someone selling their code and patent problems. No mention of the GPL, although obviously several provisions in here are incompatible with any decent open source license.

    So here it is:

    MICROSOFT SHARED SOURCE CLI, C#, AND JSCRIPT LICENSE

    This License governs use of the accompanying Software, and your use of the Software constitutes acceptance of this license.

    You may use this Software for any non-commercial purpose, subject to the restrictions in this license. Some purposes which can be non-commercial are teaching, academic research, and personal experimentation. You may also distribute this Software with books or other teaching materials, or publish the Software on websites, that are intended to teach the use of the Software.

    You may not use or distribute this Software or any derivative works in any form for commercial purposes. Examples of commercial purposes would be running business operations, licensing, leasing, or selling the Software, or distributing the Software for use with commercial products.

    You may modify this Software and distribute the modified Software for non-commercial purposes, however, you may not grant rights to the Software or derivative works that are broader than those provided by this License. For example, you may not distribute modifications of the Software under terms that would permit commercial use, or under terms that purport to require the Software or derivative works to be sublicensed to others.

    You may use any information in intangible form that you remember after accessing the Software. However, this right does not grant you a license to any of Microsoft's copyrights or patents for anything you might create using such information.

    In return, we simply require that you agree:

    1. Not to remove any copyright or other notices from the Software.

    2. That if you distribute the Software in source or object form, you will include a verbatim copy of this license.

    3. That if you distribute derivative works of the Software in source code form you do so only under a license that includes all of the provisions of this License, and if you distribute derivative works of the Software solely in object form you do so only under a license that complies with this License.

    4. That if you have modified the Software or created derivative works, and distribute such modifications or derivative works, you will cause the modified files to carry prominent notices so that recipients know that they are not receiving the original Software. Such notices must state: (i) that you have changed the Software; and (ii) the date of any changes.

    5. THAT THE SOFTWARE COMES "AS IS", WITH NO WARRANTIES. THIS MEANS NO EXPRESS, IMPLIED OR STATUTORY WARRANTY, INCLUDING WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR ANY WARRANTY OF TITLE OR NON-INFRINGEMENT. ALSO, YOU MUST PASS THIS DISCLAIMER ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS.

    6. THAT MICROSOFT WILL NOT BE LIABLE FOR ANY DAMAGES RELATED TO THE SOFTWARE OR THIS LICENSE, INCLUDING DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES, TO THE MAXIMUM EXTENT THE LAW PERMITS, NO MATTER WHAT LEGAL THEORY IT IS BASED ON. ALSO, YOU MUST PASS THIS LIMITATION OF LIABILITY ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS.

    7. That if you sue anyone over patents that you think may apply to the Software or anyone's use of the Software, your license to the Software ends automatically.

    8. That your rights under the License end automatically if you breach it in any way.

    9. Microsoft reserves all rights not expressly granted to you in this license.

    --

    Bleh!

  10. Might this backfire in the long run... by dpilot · · Score: 4, Informative

    Let's face it, their goal here is a "secret" shared by *every* CS college graduate. Then those graduates are potentially "polluted" from ever participating in Open Source development. Presumably the mechanism would be one or two high-profile court cases, to make an example and scare everyone else.

    At least this is the conspiracy theory, which may have some merit.

    But look at the flip side... When you start sharing a "secret" that widely, doesn't it start looking like mis-using the work "Kleenex" instead of "Kleenex-brand facial tissue"? The Kleenex trademark was lost that way, and the Windows trademark appears to be lost.

    Unless every CS course begins with a legal session, explaining how, "This stuff is *secret*, and will compromise your capability to work on any project Microsoft doesn't like in the future, and they can sue you @$$es off because you've seen it," this looks like a recipe to lose the license terms.

    I was once involved in a proprietary memory chip design my company purchased for us to base our design on. Very early on, the lawyers brought the whole team into a room and read the riot act to us, explaining what we could and could not do, based on the "pollution" of looking at that design.

    There was also a nifty term called "residual knowledge" that applied then, and applies now.

    --
    The living have better things to do than to continue hating the dead.