All Posts
  • Port25

    Crash Data Collection and Analysis

    • 0 Comments

     

    by anandeep on December 19, 2006 12:35pm

    Archana Ganapathi is a Computer Science graduate student at the University of California, Berkeley.

    Archana has been working in the area of Empirical Computer Science (which relies on real data rather than theory or simulation) and some of her research is on computer crashes. She worked on collecting data on Windows crashes and is in general interested in the idea of using real data to advance Computer Science.

    Here home page is http://www.cs.berkeley.edu/~archanag/ . Her paper on Windows crashes is “Crash Data Collection: A Windows Case Study” and another interesting paper she has written is “Why do Internet services fail, and what can be done about it?

    The Open Data Repository link referenced in the video is </FONTUNDERLINE: single>http://institutes.lanl.gov/data/.  This is a temporary link with a public data set as there is currently not an official link for the repository that will eventually be hosted by USENIX.  We'll be sure to pass along the official link as soon as it is available.

    -Anandeep

     

     

    Attachment: archana.mp3
  • Port25

    Learning to Read!

    • 0 Comments

    by anandeep on November 16, 2006 07:39pm


    One of the great things about my job at the Open Source Software Lab (OSSL) here at Microsoft (besides being able to work with both Linux and Windows!) is that I get to go computer science research conferences.  I try not to attend the purely academic ones, but the ones in which both industry and academic research issues are addressed.

    I just got back from ISSRE  (pronounced “is-ree”) i.e. the 17th IEEE International Symposium on Software Reliability Engineering, 2006.  This conference talks about everything that impacts the reliability of computers – this includes everything from “drivers of reliability” to  “testing to ensure reliability” to “doing static analysis of programs”.

    Skeptical that anything they talk about here would be useful to y’all? Well, think again! They have all kinds of practical advice on doing things right.  The talks I really enjoyed included

      • empirical evidence on the positive impact of using assertions during development (a very development oriented talk)
      • considering stabilization time of an application (i.e. stability during installation and immediately after) as part of a reliability metric
      • the use of “operational profiles” to reduce the number of test cases by over 30% without significantly impacting the reliability of the tested product


    Only one of the above talks was from an academic institution, the other two were based on experience with software being widely used in the consumer and application server space.

    The one thing that I enjoyed the most was a tutorial on “Software Productivity and Reliability – Tools and Techniques” given by Prof S C Kothari  of  Iowa State University.  The tutorial title is appropriate but I think what it should have been is “Learn to Read Programs Properly!”

    Kothari believes that a lot of attention has been paid to what he calls “Program Writing” – developers tools and such.  This has resulted in the creation of very complex software artifacts.  Most real world applications today are built on these already built complex software systems.

    The problem is that almost all academic institutions and programs focus on the inventive aspects of programming.  This means that they teach algorithms and techniques assuming that everything will be written from scratch.  Real life is of course never like this – it is difficult if not impossible to be a computer software professional these days and work just with your own code.  More often than not, most developers have to wade through other people’s code to understand, use or modify it.  Developing software today involves a lot more than just writing it.

    The skills to “read programs” are acquired the hard way – and sometimes never fully mastered.  Kothari suggested that there needs to be an emphasis on program reading in training and that tools need to be built to aid in reading programs and forming the proper mental model of them.  The barrier to future software productivity is not machines or algorithms but human mastery of the complexity of the vast amount of critical software out there. 

    Program reading is not easy, as most people in open source know! This is due to

    1. The complexity of the semantic analysis of the program – figuring out what the module is trying to do, is it part of the scaffolding put in place to support the execution or is it domain knowledge embodied in the module?
    2. A lack of domain knowledge – how would a programmer know how a complex business or legal transaction needs to be done or a certain application level protocol executed– yet this information has to be embodied in the code written by the programmer.
    3. Non-localized relations between software artifacts – the module does one thing in one context and another thing in the other – in some it has to maintain data integrity and in others  it has to undo something that has occurred somewhere else in the program.


    There are some tools that are available to assist in program reading such as CScope (BTW Hank Janssen of our lab wrote parts of CScope) but there has not been a lot of attention paid to WHAT program reading needs in order to address the complexity issues raised above.  Kothari has a company Ensoft that provides some very cool tools to do the kinds of things that are needed for reading complex programs.  The tools are based on abstractions that are used in program comprehension (there is a IEEE Conference on Program Comprehension held every year).  Kothari illustrated one that he called “matching pair” (MP).  Matching pairs are defined by a syntactic pattern – which could be artifacts (such as matching parentheses) or events ( such as locking or unlocking a resource).  There are many types of such matching pairs and to make a program correct a matching pair can be defined with respect to control flow, data flow or both.  A control flow matching pair  means that a function f would need to be followed by a function f-inverse in EVERY execution path that the program could take.  Looking through every execution path is hard (and it is proven that to do it via automated static analysis of programs is an intractable problem) – especially in something like the Linux kernel.

    Using the tool that Kothari demonstrated – a call graph was generated and a “query language” defined over call graphs.  Looking for matching pairs using the tool became unbelievably simple. This was just one of the things that can be done to reduce the complexity and time taken to figure out what a very complex program was doing.

    I think this is a real breakthrough – and I am now a confirmed advocate of program reading. I am hoping to work with Prof Kothari to do some more stuff with this – I hope to share the results if I do end up doing that.

    Why do I mention this on this forum?  This is something that open source developers and IT Pros have been doing for a long time.  Open source developers have a culture wherein a lot of code reading is encouraged. And IT Pro’s have to constantly update and upgrade scripts that they use to control and run their infrastructure. The cultural advantage lies with open source developers and IT Pros but given the complexity of software is increasing exponentially everyone could do with a little help

  • Port25

    The Apache Visit to the Microsoft Campus: Day Three

    • 0 Comments

    by Garrett Serack on March 03, 2008 02:00pm


    Day two moseyed late into the night...well for me anyway--cowboys wake with the sun.

    Day three turned out to be a day full of surprises for me--most of the sessions were significantly more interesting than I would have guessed.

    We started the day with a presentation by Bill McKinley on Windows Logo Certification (for which there is a great little quickie primer here).  I highly recommend checking this out--the logo certification program provides some tools to assist with certification validation, and even if you have no interest in certification, running the tool will give you a rundown of potential issues that your customers will face.

    After a break for more testing, Rob Mensching and Peter Marcu dropped by to give the team a thorough examination of WiX (the open source Windows Installer XML toolset). Again, very cool stuff. Admittedly, there seems to be a somewhat steep learning curve, but it integrates nicely into build scripts, and has all the flexibility you'd ever need.

    After lunch, we did some testing, with a quick little jaunt to the Microsoft Company Store, where the attendees took advantage of Microsoft Employee pricing on some software and hardware.

    We rounded out the day with a session on Windows Error Reporting -- you know when an app crashes, and you can send anonymous debug info to Microsoft?  The information ends up in the WER system, where developers can register to get crash and hang information for their software and drivers.  I knew that the information was collected, but previously, I had no idea how easy it is for app developers to get their hands on the data. I strongly recommend that you check it out.

    While Wednesday was the last day for most of the attendees, a few stayed through Thursday, and I'll post a wrap-up on that tomorrow.

  • Port25

    OPEN/SHARED SOURCE AT Microsoft

    • 0 Comments

    by MichaelF on September 12, 2006 07:25pm


    It has been a while since I posted a blog, and I really have no other excuse than that I have been very busy. I have had a whole bunch of blog ideas percolating in the back of my mind, and I will be writing them down soon.

    When we started port25 and the OSSL it was met with great skepticism.  But there have been a lot of changes going on around us here at Microsoft. And one of those I wanted to bring to your attention.

    A few years ago the mere thought of Open Source at Microsoft was ridiculed both inside and outside of the company. But I am starting to see small and sometimes not so small changes. This blog describes a very positive change.

    As you might all know, I went to the 2006 OSCON conference in Portland. And there I met another Microsoft employee, Sara Ford. She works in the Visual Studio and Power Toys area.  She has been a very active blogger in the past (unlike myself, working on it though!) And you can find her page here.

    We got to talking at the conference and I have worked with her a little since then and found her to be a very energetic person greatly interested in OSS. But why is this interesting???   Well she attended a session at OSCON given by James Howison. (See his OSCON session info here ) And his presentation was on open source communities.

    She was so impressed by it that she is currently working on Open Sourcing the Power Toys. I had the pleasure to sit in the training she gave the team, you can see more of the training she gave (unfortunately I was there as well and probably messed up the whole video by opening my mouth. So ignore me!) here.

    In any case, who would ever thought Microsoft would open sourcing anything. But it is happening, and in future blogs I will give you all more insight on my first 4 or so months here and the changes I am seeing both internal and external.

    Till then!

    Hank.

  • Port25

    Getting Ready for OSBC

    • 0 Comments

    by MichaelF on April 13, 2007 11:10am


    May 22nd through the 23rd OSBC, now produced by Infoworld, is being held at the Palace Hotel in San Francisco.  Microsoft is a Silver Level Sponsor this year and we look forward to the discussion and networking.

    Just a couple of quick notes:

      • Sam, Jamie and myself will be attending and Sam will be participating in a Microsoft and Novell roundtable.
      • If you are attending but haven't registered, we have a discount code you can use to get a significant discount on the cost of your registration:  MSDEAL57


    We look forward to seeing you in San Francisco!

  • Port25

    Mindedness

    • 0 Comments

    by jcannon on August 14, 2006 12:00pm


    A couple weeks ago I was put in the ‘hot seat’ at the O’Reilly Radar Executive Briefing at OSCON in Portland.  Danese Cooper from Intel had a lineup of questions to ask and we had fun (really) discussing many of the issues about Microsoft and Open Source.  In his blog, Tim mentioned one of my quotes from this session about dealing with ‘close mindedness’ around the issues of Microsoft and OSS, as it’s something that I deal with daily.  Being on the hot seat answering these types of question and dealing with close mindedness is part of my job, I’m not complaining, but I did think it was worthwhile to expand on what I meant by this comment.

    In 2 ½ years in this job, I’ve learned a lot.  But maybe one of the most interesting is related to the seemingly obvious fact that everyone has an opinion about Microsoft.  Good or Bad, but rarely indifferent – for what it’s worth, this is not common of most companies.   There are many reasons why this happens, of course, but it does introduce an opinionated, subjective element into every conversation I have.

    In many ways, this perspective (and bear with me here) is not unlike how many people feel about country music.  Most people have an opinion about country music – some love it, some hate it, but rarely do you find people who hear country music who don’t have an opinion one way or another.  Many people hear country music at some stage in their life and make a judgment call on country music forever – this happened to me with some really old recordings from Marty Robbins I heard on my Dad’s eight track player when I was six.  In a similar way, I meet people who view Microsoft through their experiences with NT 4.0 or even Windows 95 and assume that the products we have today must be the same as they experienced back then.  I realize people don’t think we still sell these specific older products today, but their perception is rooted in these product experiences.  Of course this happens with all sorts of things, not just music and technology, but it does build a ‘mindedness’ about the subject that is often dated and stale.

    This is topical for me as I just returned from a trip to Montana where I attended my first country music concert.  Up to this point, I’ve been listening to Marty Robbins-era country on occasion, mostly Johnny Cash, so my perception about country music is behind the times to say the least.  Sure, I’ve heard country now and again, but not really listened to anything recently.  So sitting in this concert at the Montana State Fair in Great Falls, listening to a present day country star, Trace Adkins, I realized a lot has changed.  Sure, there’s still the hat, boots and giant belt buckle thing, but the music has changed – lots more pop, rock and of course more contemporary lyrics.

    Back to the initial ‘close mindedness’ issue.  The issue I typically face is one of perception, typically a historically based perception.  I’m talking about perceptions of both Microsoft and open source software here, and both external and internal to Microsoft.  Sure, I realize there’s always history, good and bad and indifferent, but in some of my conversations, I hear a lot of opinion based on rather old experiences.  IMHO, what really helps progress any conversation is taking this historical experience with a complete and open minded understanding of the present day and then making an assessment – good, bad, or indifferent. 
    What we’re trying to do with Port 25 is to bring some contemporary insights into what Microsoft is doing in OSS.  I’m also hoping it allows people to take a look at our software overall, to see what we’re building and why (if you pull the ‘port25’ off the technet.com url you can find a load of useful Microsoft technical information, including software downloads and howtos).  We’re a commercial software company and we strive to build great products – sounds like marketing and it is, because we’re proud of what we do.  So you may see some hats and boots here and there but you’ll also probably hear some rock and roll in the music now too.   And I’m not here to sell you.  You may decide you don’t like our music, and that’s fine, because what I’m hoping for is a more accurate, up to date perspective so that the conversations and mindedness can strive to be more open and more productive.  This is my approach both externally and internally, and about both Microsoft software and open source software.

    Changing perceptions is challenging but important.  And it takes time.  For me, I’m attending my next country music concert this week here in Seattle, Tim McGraw and Faith Hill.  Although it’s certainly not Marty Robbins or Johnny Cash, I’m starting to appreciate the changed genre.  Just don’t expect to see me wearing giant belt buckles anytime soon.

  • Port25

    Thoughts from OSCON: Development Practices

    • 0 Comments

     

    by MichaelF on August 14, 2006 11:30am

     

    I recently attended OSCON 2006, and had a lot of fun being there. Microsoft’s presence in the Open Source World is still a novelty (to say the least), so I always got a reaction out of people at the conference when they saw my badge!

    We had a large presence there, because we do believe that open source as a development model is here to stay. Bill Hilf was at the conference and Port 25 has some of the interactions he had with open source luminaries Tim O’Reilly and Matt Asay. While Bill was having these interesting conversations, we at the OSSL (Open Source Software Lab) were busy attending the talks at the sessions and collecting “swag” on the exhibition floor!  I do have swag from HP, Google, Intel, Dell, AMD, Oracle, ActiveState, Solid and MindTouch but interestingly IBM was missing.  Anyone out there have an IBM t-shirt to exchange for our Port 25 t-shirt? (see accompanying pictures)

     

    The buzz in the air, appeared to me to be about open source both as and in business. The talks I gravitated towards (naturally) were about open source development practices. These ranged from taking closed source products and turning them loose as open source projects to driving pure open source development to using experts in a particular domain as contributors for a project not thought suitable for open source.

    There was a common thread running through all these talks – the critical nature of development practices. No, there wasn’t anything earth shattering – these were development practices that are accepted as “goodness”. But the forces surrounding open source development made the use of these practices almost a necessity for projects to get of the ground.  This is not to say that closed source companies do not follow these practices, but due to co-location, centralized management and other circumstances that go along with commercial development, some of the practices may not be rigidly enforced and the lack of these practices may not impact the product as much. Open source development does not have that luxury (I refer only to successful open source development projects, not the long tail of open source projects that are fossilized on SourceForge and other repositories).

    The practices fall into the following categories

    Easy “build”

    Consider this, you browse to an open source project which is new to you and download it (could be from repositories such as Sourceforge or Codeplex). It doesn’t install and takes a lot of wrassling to run. More often than not, this first impression decides your level of participation. If you can’t find something cool, try it and run it – there are other fish in the open source sea!

    The initial install is not the only thing that has to run right, as an open source developer working on a module, adding/modifying some source code, building the source code and running it are part of the iterative process that lets developers be productive. A system which doesn’t make the dependencies transparent and which doesn’t have a build system to include all the necessary files (and NOT include the unnecessary ones) will probably not get good developer input.

    The easy build thing has been known for a while. At Microsoft, product groups have the concept of daily builds – if you as the developer “break” the build, you don’t go home till you fix it. In order for this to work, each developer should be able to build the system on his desk easily.

    Quick iterative program development in the large without hassle is the name of the game. The very nature of open source development which needs to attract developers to gain momentum leads to a focus on easy builds.

    There’s doc (or a blog or a newsgroup) for everything

    Most open source developers don’t work in the same building. I am talking about open source developers in the community, not those employed full time by commercial open source companies. (Though most commercial open source developers have to interact with community developers on their virtual team).  This means you can’t walk to the next office and ask the developer about how the API call really works!

    It follows that at any time of day or night, answers to questions like “how does the API call really work?” should be available through internet accessible means.  This could be doc, a newsgroup, a wiki , a blog or any other easily accessible repository.

    Documentation by developers, you ask, isn’t that a mythical being? Smile

    That’s exactly the point – open source developers do write docs, they just don’t recognize that they are doing so. In order for an open source project to truly take off, education of new developers is a must - both when they are viewing code and when they are looking at documents explaining interfaces, how things work and the meaning of life! Ok, maybe the last thing is not strictly necessary, but it does make reading documentation much more fun.  Who wouldn’t want to work on Ruby after reading “why’s (poignant) guide to ruby”?!!!

    Every lifecycle stage and artifact is important

    The way you work your way up the “committer” chain in open source projects is to prove yourself useful. The path to building credibility is to write documents, find bugs, review codes and make yourself useful in a pretty stiff meritocracy. Even when a developer achieves the golden “commit” privilege they continue to participate in those activities.

    Not having departments with people exclusively devoted to test, doc or reviews makes the development of a “caste system” difficult! Development managers cannot put pressure on test managers to shortcut tests – because the development managers and test managers could be the same person!

    This is a little bit more subtle than the “more eyes make all bugs shallow” argument – that is only true if those eyes don’t think of looking at bugs as work that is to be done by other eyes! 

    This is even truer of documents and education – it isn’t some tech writer with expertise only in writing who writes the important documentation, but the luminaries of the community. When the “Gurus” (which in Sanskrit means teacher) do what they are meant to do – then nirvana is attained (I loosely paraphrase from the Bhagavad Gita!).

    Sprints not marathons

    Consider having developers in the US, UK, India and Australia – when is the best time for a meeting? When it’s morning in the US, its night in India – and who knows what time it is in Australia?  Software companies whose code is all developed by their own employees can have coordination meetings on a schedule decided by someone – not so in open source. This means that coordination can’t be complex and long drawn out.

    So open source makes use of XP principles, work on a small feature that doesn’t take more than a month (ok, so it isn’t the extreme XP where the feature shouldn’t take more than two weeks!).  Based on community pressures, priorities can be decided. Longer term projects are either done by a single person or by a co-located team (by commercial open source companies for example).

    That means planning horizons are small, and mistakes can be rectified without huge loss of time. Releases happen when there is a critical set of features ready. The community is able to get their hands on new features early and give early feedback, which further cuts down the time for stable development.

    Of course this means that customers are running hard just to stay in one place, if they accept all the releases! But at least they have the choice…!

    Visibility into EVERYTHING

    Open source is not just about the source being visible. More people do look at server side code, but even on servers the number of code readers is small compared to the number of contributors.

    Visibility in open source is about everything – how many and what bugs are there, time to resolve bugs, prioritization of bugs, who is contributing what, what comments were made about whose code, whose code was included and whose wasn’t etc. etc. etc.

    This not only acts as a great feedback mechanism to users, it provides for real and open debate about priorities and execution. As long as the project is handled on a rational basis, people can predict the state of the project. They can anticipate when a feature they want or a bug they have will be fixed. It also allows users to submit code to fix bugs for their own problems and see it transparently go through the system.

    My full time job at a previous position was mediating features for a group of customers (numbering in the 10s). This required the full energy of a team, which was not a development team, to gather this information in a closed source environment and then disseminate this information. Of course there were mistakes in information gathering and communication, since the customers only got a view of the project through an intermediary. Building trust with the customers took the better part of the year and resulted in a development process that was not as efficient as it could have been.

    So flame wars notwithstanding, visibility into everything is an advantage for open source projects.

    Community, Community, Community

    In order for developers to be productive they have to communicate with whom they want, when they want and get back what they want. This means there is a burden on the open source product’s leaders to make sure that this responsiveness is part of their community. The artifacts used are answering 250 e-mails a day, having IM on all the time and putting systems in place that make this possible. One open source company I know of uses categorization software just so that the appropriate person can look at an e-mail and has fast mail systems that allow sub-second previews of the e-mails!

    What this gains the company is encapsulated in a quote from an OSCON presenter – “When we had a closed source product people worked 9 to 5, but with open source there is so much interaction with the community that our developers are strongly motivated to work on finding solutions and building features and they are much more productive!”

    Actually come to think of it, there isn’t a thing here that I have said that wouldn’t work where I work! In fact these processes are already at work at Microsoft. I am not only talking only about the work that we are doing at Codeplex, releasing source for products such as Power Toys for Visual Studio Collection available on Codeplex or the WiX tool available at Sourceforge but also about the code sharing internally within Microsoft. Since Microsoft does both platform and application development, application developers often need and have access to the bug databases and source code of platform level components. There is a lot a give and take between teams of users within Microsoft. This visibility has also been expanded to users such as academic, government and enterprise users under license agreements with Microsoft.

     

  • Port25

    IDMU....And You.

    • 0 Comments

    by admin on May 05, 2006 03:16pm

    Sam interviews Shamit Patel, Project Manager for Identity Management for Unix (IdMU), to discuss the current state of the project and solicit feedback from the Port 25 community to help shape future versions of the project.

    Format: wmv
    Duration: 17:56



    Want to learn more? Check out Interop Systems: UNIX Tools for Windows - another great community site for UNIX users, sysadmin's and developers who find themselves needing to interoperate with Windows and Linux systems.

  • Port25

    It's Like This...Or Maybe Like That...

    • 0 Comments

    by MichaelF on September 08, 2006 08:19pm

    I am compiling a list and analysis of all the analogies and metaphors that have been used to characterize open source software development and its social, technical, and business implications.  I think it is unlikely this will be the next DaVinci Code­­-style best seller, so I don’t expect to give up my day job, but my interview of Professor Alfonso Fuggetta where he talked about the distinction between specification and implementation reminded me of why I started this project.

    Analogy and metaphor are fundamental to not only how we understand something, but also to how we form our opinions about it; in an influential paper on artificial intelligence and cognition, the authors emphasize the centrality of analogy to not only how we make sense of the world but its powerful and often unrecognized implications:

    When people make analogies, they are perceiving some aspects of the structures of two situations—the essences of those situations, in some sense—as identical…Furthermore, not only is analogy-making dependent on high-level perception, but the reverse holds true as well: perception is often dependent on analogy-making itself. The high-level perception of one situation in terms of another is ubiquitous in human thought. In the large or the small, such analogical perception—the grasping of one situation in terms of another—is so common that we tend to forget that what is going on is, in fact, analogy.*

     

    The authors use a few contemporaneous controversial situations from US politics in the late ‘80s – early ‘90s to illustrate this point—what  struck me about their emphasis on the power of analogical reasoning to shape opinion was the fact that analogies to “Vietnam” and “Hitler” were used in those examples in their paper and, 20 years plus later, those same historical events are in the news as analogies today.   The two examples highlight how acceptance of the analogy carries with it a strong bias to shape your attitudes and your behavior (even manipulate your emotions): analogies don’t necessarily just frame the argument—sometimes they are the argument.

    The analogy that’s top of mind for me today is from Open Sources 2.0 (Sam blogged about it here), and was laid out by Matt Asay (who  frequently has interesting  things to say on his blog or, for that matter, here on Port25).   It’s one of those that I think warrants some discussion because, as it stands, I think it actually raises much more interesting questions than what Matt initially describes.

     

    In his chapter “Open Source and the Commodity Urge: Disruptive Models for a Disruptive Development Process,” he is arguing open source reduces prices by facilitating the option to “do it yourself.”  After hiring out their landscaping, including cement work, he goes on to relate  the unfortunate story of having to pay (high)  legal fees to resolve a dispute with his (bad) cement contractor.  The price of legal assistance was high because of the “skill set involved and the artificial licenses set up by the legal profession to keep would-be attorneys in would-be land.” And necessary because (emphasis added) ”I am effectively barred from accessing the “source code” of the legal…profession, which drives up the price I must pay.”

     

    Here’s the interesting thing: as much or perhaps more than any other domain, we are not barred from accessing the “source code” of the legal profession.

     

    True, there are hurdles you have to go over to practice as an attorney and represent others—but that is not relevant to the “do it yourself option.”  In fact, you are entirely able to represent yourself if you want to, and some venues (small claims court and many administrative processes) are designed to accommodate self-representation.   So, first—relatively speaking—law is an areas where you have a lot of latitude to “do it yourself” (by comparison, “do it yourself law enforcement” or “do it yourself public highway repair” by contrast, is actively discouraged.)

     

    Second, the “how-to”  of underlying knowledge is perhaps more widely available in the legal domain than in any other: there are many public law libraries and a large (although its practitioners would say not big enough) network of volunteer assistance organizations.

     

    Finally, legal documents are almost universally  public as well, so you can seek an example of someone else’s filing, brief etc from among literally millions of such documents—from the lowliest pleading to the most momentous Supreme Court argument.  If a situation where the full text of millions of legal artifacts available freely (or for the price of distribution) aren’t like open source code…I’m not sure what is!

     

    This analogy was powerful enough to lead me to think a long time about the contra case: not is lack of openness inflating prices, but what if a high degree of  openness does not reduce prices (--or at least “reduce enough” relative to expectations).   Thus the question: are there analogies  that help make sense of this possibility?  I have some ideas that I’ll offer in my next blog.

     

     

     

    *High-Level Perception, Representation, and Analogy: A Critique of Artificial Intelligence Methodology; Chalmers, French, Hofstadter 2001

     

     

     

  • Port25

    OSCON2006 - O'Reilly Radar Updates

    • 0 Comments

    by admin on July 25, 2006 11:56am

     

    More Updates (8/1):

    Update, 7/25: We just wrapped up the O'Reilly Executive Day here at OSCON after two days of what many would call record heat in the Pacific Northwest. With many of the Port 25 folks having commuted from larger cities across the US, Portland is a welcome break from the office. For those who haven't been before - the pic this morning from the Willamette River might give you an idea of how beautiful this place really is.


    Tuesday started with a panel - The Ghost in the Machine: The Impact of Open Source on Web 2.0 - with Chris DiBona, Open Source Programs Manager at Google, Jim Buckmaster, President and CEO of Craiglist, and Jeremy Zawodny, Technical Manager at Yahoo. The panel was moderated by Tim...an interesting discussion of how these companies, to varying extents, work with the open source community and continue to evolve their blended business models to satisfy the complex needs of both the community and their shareholders. Sorry the pics aren't great - the lighting was somewhat dark.

    Bill was up next for an unscripted Q&A with Danese Cooper, Open Source Diva, Intel and OSI. We're trying to get the video so we can post the discussion on the site, but for those that were there.....you already know how unscripted it was. Bill answered questions about everything from the new ODF/OpenXML Plug-in Project to our continuing work on Shared Source licensing. Stay tuned for the video....


     

    Some additional pics on questions fielded from the audience, ranging from general interoperability concerns between open source and Microsoft, to questions about how to grow & educate developers on Web 2.0 platforms. 

    We wrapped the day around 8 tonight - with the beautiful weather comes some great views of the mountain peaks surrounding Portland. Not pretending to know for sure, but I believe this is Mt. Hood from downtown Portland


     
    We'll have more to come throughout the week - but our first day at OSCON was great! It's also worth mentioning that we met with a very interesting partner, Mindtouch, and had the fortunate luck to talk to Steve Bjorg, President & CTO. Steve recieved some positive coverage on C|NET today around the work they're doing with Wikis- but more on that later this week, as well as some additional interviews that Bill was lucky enough to conduct.

    For those in attendance - welcome feedback, comments & love to hear what you thought of the tutorials & sessions so far. If you'll be there tomorrow, swing by the Expo Floor to pick-up a Port 25 tee-shirt :) Anandeep and Hank will also be roaming OSCON throughout the day.....

    See you guys soon

    - Port 25

    ------------------------------- 
    Here we go.....it's the Friday before OSCON and we're really excited about what we have planned for the show. For those of you attending, we hope you can join us for some of the planned agenda. For those who can't - keep an eye on Port 25 in early August for our wrap-up.

    This year - Port 25 is a Silver Sponsor of the event - and the theme of this year's OSCON is the growing influence of open source (and being open) on business. We couldn't think of a better theme to support!  So here's a quick run-down of our plans.....if you have any questions, feel free to shoot us a mail at port25@microsoft.com.

    •  
      •  
        • Bill will be answering questions in the O'Reilly Executive Day, on Tuesday morning, from 9:30 - 10am.
        • Michael and I (the Port 25 webmasters) will be interviewing Mindtouch, who has some interesting stuff to talk about. We'll also be wandering around the show, looking to talk to folks to learn more about what they do & to share some of the interoperability challenges they face. Free t-shirts for those willing to share :)
        • Jason Mauer will be presenting a technical track on the Windows Workflow Foundation - Thursday @ 11:35.
        • Anandeep & Hank will also be attending the show on Wed & Thurs - they'll be engaging customers, so feel free to seek them out.
        • At some point, we'll also be hanging with the very talented Sara Ford.

    There are a few other things in the hopper, so keep an eye out. We're looking forward to getting some face time with the community & listening more deeply to your concerns. We'll take them back to Microsoft and have follow-up blogs in August. See you next week!

     

  • Port25

    Service Modeling Language: Industry Collaboration for Improved Systems Management

    • 0 Comments

    by MichaelF on August 17, 2006 10:00am


    On July 31, 2006 Microsoft and a number of other leading technology companies including: BEA, Cisco, Sun, IBM, Intel, HP, BMC, and Dell ANNOUNCED:  "they have published a draft of a new specification that defines a consistent way to express how computer networks, applications, servers and other IT resources are described — or modeled — in extensible markup language (XML) so businesses can more easily manage the services that are built on these resources."  The specification defines a common language for communicating information about  IT services and resources.

    This sounds great, but we wanted some more details regarding the scope of this draft specification, its impact on the industry and the technical details behind it.  To get those answers Sam interviewed Praerit Gart, Senior Director of the Dynamic Systems Foundation Team, to discuss the announcement and what it means to the industry and IT Professionals.

    You can also download the specification and schema here. The team will be taking direct feedback on the schema, as well as holding a public Feedback Review Meeting on September 12th.

    Attachment: smlpodcast.mp3

  • Port25

    MySQL Conference & Expo

    • 0 Comments

    by jcannon on January 10, 2008 01:57pm


    It's going to be a busy couple months in the open source industry, with a number of influential conferences convening over the next six months to discuss the latest issues, advances and topics facing OSS. More on those later, but I wanted to get something quick up on one in particular that Microsoft is participating in - the MySQL User Conference in April. Folks may remember our sponsorship in 2007, (Bryan has a good read on this) - and I'm happy to continue this support and participation.

    As part of our sponsorship, we've negotiated a discount for registration we can extend to our community. If you're interested in attending, register at http://www.mysqlconf.com and enter code: mys08micr. This will give you a discount of 10% against the cost of your ticket....we hope to see you there.

    PS. Thank you to our friends at MySQL, in particular Kaj Arno for the continued support. (Kaj - thanks for the calendar ;))

  • Port25

    Apache Conference 2007: Part One

    • 0 Comments

    by hjanssen on May 02, 2007 07:11pm

    So here I am, Amsterdam May 2nd 2007. At the Apache Conference. (A Microsoft person at an Apache Conference, what is this world coming to??)

    I am going to blog from the Conference until it is over.

    So, today the conference started in earnest with all the tracks kicking off. The first day was one of technical training. But this second day is where all the sessions started.

    It started all with Sander Striker President of the Apache Foundation.  He described very high level what was to be expected in the next few days, and he talked about the following.

    He describes describes ASF, Est. June 1999. Non profit 501(R )(3) charity

    He talked about how ASF is much more about community than about code, ASF manages communities, not code.    

    As with most projects, Open Source or otherwise, there is a tendency of burnout. He wants to make sure people stick around at the ASF by making sure there is an environment of Healthy community through:  respect, open discussion, shared views and direction.

    Today there are 43 Top level Projects  (6 more than last Apachecon, October Austin - 2006.). There are also 31 projects in the Incubator (compared to 38 at last Apachecon).  Overall he expressed his belief in that the future is looking bright and ASF being very healthy.

    Also, today there are 1500 Committers worldwide, 220 Members.   Membership is about the individual. Not corporations.

    He closed by saying that People have a tendency to burn out in the infrastructure portion. It is a tough job to keep doing.

     

    Picture 1: Here is a shot of the attendance during the keynote and introductions

    Being notoriously bad at guesstimating the total number of attendants at any event, I am guessing that there are about 250 to 300 people here.

    A question from the audience resulted in a very interesting answer. The question was how do you become a member. The response from Sander was:

    Become a Committer first, and provide good quality work. If you keep contributing you might be proposed as a member. This will be subject to a vote.

    But the description of a clear path to become a member is somewhat unclear from my point of view. I would think this path is more defined for those people wanting to become way more involved.

    Next up was the key note delivered by Steven Pemberton, Researcher at the Center of Math and Computer Science. His keynote was called:

    Abstraction and extraction: in praise of

    He talked about abstractions of programming languages. And then went into how complicated these abstractions still are today. Yet daily interaction with objects can lead us to confuse the concrete with the abstract.

    One of the nice things about programming languages is that they abstract away detail, like how data structures are implemented, how procedures are called. Etc.

    He described a talk by Kernigan and Ritchie that he went to in the 70s where they were talking about Unix and C. This gave me a nice flashback and I am starting to feel pretty old!  Thanks!

    Some of the things we are struggling with today where the result of mistakes that were made when UNIX/C came to be. He talked that in his view that UTF-8 today is the result of the way they conflated characters worth units of store.

    The intention of his talk was to speak more about usability, and designing for usability.

    I have taken many notes when he spoke and I am trying to compose them back into his keynote. Bear with me while I try to reconstruct my notes. :)

    He stated that you shouldn't confuse usability with Learnability. They are distinct and different. What he means with that is that if you want your software to be used by a large audience, you need to make is usable. Emacs (Still my personal favorite) is a powertool, you can do great things with it. But it is not what I would call usable. (powerful? Yes, Easy to learn? Not so much.)

    What are the features of websites that you go back to regularly. The thing that differentiate them from other websites with the same purpose that you don't go back to.

    Forrester research found 4 reasons for this.

    1. Good content 75%
    2. Usability 66%
    3. Speed   58%
    4. Frequency of updating 54%
    5. The rest was noise: 14% and lower.

    Yet Usability is usually the first thing scrapped when web sites are built. This seems to be applied to the design of software as well.

    Eric Raymond, stated that making good software requires a lot of money to make sure it is usability tested and designed. This takes a large company with a large amount of money. OSS has not solved this problem yet.

    Programmers like the command line, they are much more intuitive. ("Sensories" like much more graphical design).   OSS programmers are intent with their use of the interface, yet the rest of the world is not. The rest of the world is much more Sensory.

    A Dutch Magazine places GIMP last in it's review because of it's poor interface.

    US Department of Defense discovered 90% of cost of SW production is debugging.

    For example AJAX empowered page is a lot of work, Google maps, poster child of Ajax generation is more than 200k of code. He asks if it truly have to be this hard?

    He made a really funny comment, while preparing his presentation he checked to see how much processor usage was going on on his machine. Then realized that his machine had dual core. And discovered that his computer is now twice as idle as it used to be. :)

    Centre of his talk was really about usability. Much more so as it relates to languages. And I will give a plug here, it is basically the same argument he made as I did in my blog a few months ago.  (He probably was more elegant in describing it)   A link to the blog I wrote can be found here; Languages are becoming way too easy. In there I make the argument that languages are becoming easier yet they and the operating systems they run on have not kept up. (Meaning both have a really hard time protecting the programmer from the outside world :))

    Some more data he gave that I found interesting: Computers have become 40 times faster in 25 years, Programmers managed to become 2 to 3 times faster maybe over that same time period. Which is because you still need to do to many things in languages. The example he gave was source code he found to display a clock. The clock part was only a few lines of code. But the rest of the 1000+ lines were taken up by setting up the framework. Making sure redraws and sizing are handled etc etc.

    I will leave it at this for now. There is a lot more to write in the next few days, and I need to start reducing my blogs, they are becoming way to long!

    Stay tuned, more to come in the next few days.

  • Port25

    Garrett Serack: Open Source Software Community Lead

    • 0 Comments

    by Garrett Serack on June 21, 2007 06:50pm


    I'm pleased to announce ... er, myself, as the Open Source Community Lead here at Microsoft.

    I'd have left this to Sam, but hey--why should he get all the fun.

    I'm responsible for building communities of Open Source developers around Microsoft's platforms, both externally, and internally--yes, this means the product groups.  I'm really interested in what kinds of things we can start building as Open Source software, and illuminating what we've already done.

    I said a few things the other day on My blog that I think I bears repeating:

    This is a pretty wide reaching role, meaning that I touch a lot of ground. Some of the highlights:

      • Seeking out Open Source projects we can assist (either by contributing code, MSDN licenses or whatever :D )
      • Speaking/Presenting with companies, conferences, groups and people
      • Building an Open Source MVP Program
      • Enlightening Microsoft Product Groups about Open Source, and finding opportunities for them
      • Facilitating communication between open source developers and Product Groups
      • Building transparency into Microsoft and Open Source (believe it or not!)


    There have been a lot of changes in Microsoft in the last few years, that folks can't yet see, and I'm hoping to expose that type of thing to the world, and bring the world of Open Source to Microsoft.

    I'm not going to espouse the great plans I have in too much detail... I've found that actions speak louder than words, and have far more lasting impact than the words do. I'm focusing on what Microsoft is doing, and less on what has been said. I mentioned that too in my blog:

    I don't get it... Microsoft and Open Source? Are you sure?

    I know... I know. Y'all got some reservations about Microsoft with regards to open source.  Well, I'm not going to try convince you of anything. What I am going to do is to shine the light on the things Microsoft is doing to create communities in the Open Source world.

    Add to that, I'm doin' some rustlin' inside of the company itself--as expected, there are a few tenderfoots 'round here who would just soon reckon' we didn't bother. Well, I got a cattle brand heatin' up just for the conversation.... We'll just see about that.

    Somethin' about me:

    I joined Microsoft in the fall of 2005 as the Community Program Manager of the CardSpace team, and I've been working with companies and the open source community to build digital identity frameworks, tools and standards to shape the future of internet commerce and. I'm also co-writing a book titled Understanding CardSpace, which should be available in the fall of 2007. Prior to moving to the Puget Sound area, I've had a lengthy career as a Software Development Consultant, moving from Developer, to Architect, to Mentor over the course of the last 16 years. As life-long code-monkey, I've pounded out code on more than 20 platforms and 35 different languages, and I see no reason to stop there. I've put code into many open source projects, and I'd like to think that I share a very strong part of the Open Source vision that permeates information technology everywhere. You can catch all my posts on my blog at http://fearthecowboy.com .

    What's Next:

    In my next blog post I'll detail the promise--that is my commitment to the community.  I think it's important to know what you can expect, as well as my boundaries.  I'll also have communication channels setup so that you can talk to me; either publicly, or via confidential email.

    Garrett Serack

    [PostIcon:4108]

  • Port25

    Continuing my chain of blogs about the law...

    • 0 Comments

    by Bryan Kirschner on January 26, 2007 12:45pm

    I started this chain of blogs about the law-and-open-source–analogy based on something Matt Asay had written that struck me as interesting—but didn’t sit with me as quite right.  So it seems appropriate to tie up this set of blogs with something he wrote that seems to me to be entirely right, and helped frame a comparison about law-and-open-source that makes a lot of sense to me.

    I previously blogged about the fact that legal knowledge actually seemed  more “open” than “closed.”  I also kicked around the  idea that the supply of lawyers was especially “artificially” restricted.  Without rehashing those discussions, I didn’t find those to be compelling as singular ways the legal domain was different from the software development domain.

    Then I read a recent blog from Matt.  Blogging about companies for whom it is an “open question” if  they “are abandoning some of the community benefits of open source by having some of its technology proprietary,” Matt wrote that such companies are “trying to balance being a good community citizen with getting paid. It's not an easy problem to resolve” (my emphasis).

    I read this statement as characterizing what a lot of companies and individuals—open source or not, in the software business or not—are trying to do.  Specifically thinking about the legal analogy, here’s what struck me. 

    Among friends, family, and colleagues I happen to know a lot of lawyers (probably a result of both my wife and brother being lawyers rather than a character flaw on my part (lawyer joke)…).  Thinking of this balancing act Matt describes, I realized that:

    One lawyer I know, a litigator at a firm, recently made a change to a corporate (non-legal) job, in which he’s making about the same as he had been practicing law.  In both cases,  a pretty respectable overall salary.

    Another lawyer makes literally half what he did as a litigator, working in a public (government)  agency.

    And one more lawyer I know makes literally a third of what he did, working for a non-profit doing public interest law.

    And of course, lawyers always have the option of providing  their services at no charge (pro bono)—the American Bar Association recommends 50 hours per lawyer per year.

    (Qualitatively I would have to say intrinsic job satisfaction among the lawyers I know is inversely related to total compensation against these four cases.  The assumption here is that, for most people, being a “good community citizen” is in itself at least somewhat rewarding.)

    Additionally, individuals have broad latitude in the US to represent themselves (pro se), generating a “do it yourself” supply of legal services.

    For the sake of plotting everything on two axes, you could plot the total units of legal service delivered (y-axis) against the payment received by the “deliverer” for that unit (x-axis)—in this view paying someone else would be a negative payment while DIY would be a 0 payment.  (I don’t know exactly the shape of the curve here…but it actually doesn’t matter much for the sake of the thought experiment.)

    Now let’s think about open source code with a similar plot in mind.  Lakhani and Wolf’s open source developer study found 40% of developers were being paid while developing code.  So on the chart above they somewhere in quadrant 1.

    Cutting the data a different way using cluster analysis, the authors show that 80% of the sample is essentially covered by work need/payment (cluster 1) or two clusters where “intellectually stimulating” and “improves skill” lead by a long shot as motivations among predominantly unpaid developers (see page 13 of the linked document).  This is code in quadrant 2 of the chart. “Obligation from use”—that is, giving back, something that seems like a commitment to giving back through pro-bono work—is the far-and-away leading motivator in the fourth cluster.

    If we plotted all the units of code—open and on top of it not-open—in the world, would the shape and motivational dependencies look much different from all the shape of all the units of legal service? 

    In quadrant 2 (no payment received by deliverer) in either domain would be a lot of things that “scratch your own itch” or are themselves stimulating and rewarding.  In quadrant 1 would be whole lot of things for which these characteristics apply less or not at all (or perhaps inversely—they are painful or tedious or otherwise unrewarding…). 

    This brings me all the way back to the question of law, software, and “openness.” 

    I took issue with the idea the primary “problem” with the legal domain was it wasn’t “open” enough.  I think the process of thinking through comparisons between law and software illuminates the fact there is no single magic bullet for increasing the supply of something—whether code or legal services—at lower cost. (Note I’m taking a macroeconomic  and long-term view here: although I work for a company that sells software, in the grand scheme of things more-for-less is probably good for commercial interests  and consumer interests alike; neither I, nor, I hazard a guess, whoever defined that product strategy for Microsoft feels “bad” that tens of millions of end-user developers can DIY hundreds of millions of lines of code using the Excel macro engine and Office object model.  That product substantially “shifted the curve” and was a win-win overall.)

    Making more knowledge—through exposure of raw artifacts like source code or judicial decisions—or pedagogical materials can shift the curve.  So can increasing the supply of people who are trained to be developers or lawyers.  So can decreasing the difficulty of delivering a unit of service or code (XNA is really interesting me in this respect….). So can make making delivering some unit of service  or code more intrinsically rewarding (fun, tear-jerking, intellectually stimulating, guilt-assuaging….).  So can making it more financially rewarding to deliver some unit of service or code.

    Balancing being a good community citizen with being paid is a hard problem to solve because there is no one single formula for striking the right balance.  But I find that to be a good thing: that translates, to be sure, into many opportunities to try to strike the right balance and fail—but also many opportunities for  diverse individual, communal, and corporate co-exist, adapt, prosper—and surprise.  A world where one size does not fit all may be messy but it is a lot more interesting.

Page 33 of 38 (563 items) «3132333435»