上周,微软与计算机历史博物馆合作,发布了MS-DOS 1.1/2.0和Word for Windows 1.1a版本的源码,这是微软首次将其核心产品开源。

MS-DOS

MS-DOS是微软于1981年7月推出的磁盘操作系统,在Windows 95之前,MS-DOS是个人电脑中最普遍使用的DOS操作系统。

MS-DOS 1.1/2.0源码包中共包含如下4个子目录:

  • v11source:包含7个汇编代码文件,以及一封来自Tim Paterson的说明邮件
  • v11object:包含27个文件,一些二进制程序和一些示例程序
  • v20source:包含118个文本文件,主要是汇编代码和一些文档
  • v20object:包含38个二进制文件和文档文件

Word for Windows

Word目前是世界上最流行的文字处理工具,包含在微软Office办公套件中。第一个Windows版本的Word于1989年发布,当时的价格高达500美元。

此次微软公布的Word for Windows 1.1a源码共7M,包含33个文件夹共1021个文件,其中大部分是C源码,也有文本文档、x86汇编代码文件、可执行文件、批处理文件等。

微软要求用户只能将这些源码用于非商业目的。

源码下载:

延伸阅读

作为商业软件公司,其产品的源码属于核心机密,但是早期版本可能不存在这种问题,经过多次升级改版,这些源码在现有版本中基本都已经不复存在了。

除了微软,Adobe之前也曾公布了Photoshop 1.0.1版本的源码,其中包括179个文件共计12.8万行,其中75%为Pascal语言,15%为汇编,剩下的是其他语言。

Micro 消息的更多相关文章

  1. Caliburn.Micro 消息附加多事件

    <Button Content="Let's Talk"cal:Message.Attach="[Event MouseEnter] = [Action Talk( ...

  2. golang微服务框架go-micro 入门笔记2.3 micro工具之消息接收和发布

    本章节阐述micro消息订阅和发布相关内容 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架go-mi ...

  3. WPF +MVVM(Caliburn.Micro)项目框架

    最近做了一个软件,这个软件不是网站,但是与HTML,AJAX等技术密切相关,也不是只有单纯的数据库增删改查,还涉及到线程协调,比较复杂的文本处理…… 这样的软件,用OA,ERP的框架显然是不合适的,因 ...

  4. Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle<T>

    Caliburn.Micro学习笔记目录 今天 说一下Caliburn.Micro的IEventAggregator和IHandle<T>分成两篇去讲这一篇写一个简单的例子 看一它的的实现 ...

  5. Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能

    Caliburn.Micro学习笔记目录 说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双 ...

  6. 【uTenux实验】消息缓冲区

    uTenux的消息缓冲区是一个通过传递大小可变的消息来实现同步和通信的对象. 消息缓冲区由三部分组成:1.待发消息队列  2.等接收消息的任务队列  3.用来保存缓冲消息的空间. 和信号相比,消息队列 ...

  7. Micro 架构与设计

    Micro 架构与设计 翻译自 Micro architecture & design patterns for microservices 注: 原文作者即 Micro 框架的开发者. 过去 ...

  8. JS引擎的执行机制:探究EventLoop(含Macro Task和Micro Task)

    在我看来理解好JS引擎的执行机制对于理解JS引擎至关重要,今天将要好好梳理下JS引擎的执行机制. 首先解释下题目中的名词:(阅读本文后你会对这些概念掌握了解) Event Loop:事件循环Micro ...

  9. Golang微服务:micro实践

    micro 使用 工具安装 使用protoc生成代码,依赖两个插件:protoc-gen-go.protoc-gen-micro micro 工具 go get -u github.com/micro ...

随机推荐

  1. 《C#入门典》

    这本书算是我读的第一本关于.NET的书. 上大学的时候,教我们课的老师经常给我们安利"Wrox红皮书",说这是程序员写给程序员的书,有很高的参考价值. 这本书的电子版,有1000多 ...

  2. hdu 1250 Hat's Fibonacci(高精度数)

    //  继续大数,哎.. Problem Description A Fibonacci sequence is calculated by adding the previous two membe ...

  3. C#序列化/反序列化

    序列化:将实体类以二进制或者XML的形式保存到磁盘或者内存中. 反序列化:将序列化的二进制文件和XML文件解析成实体类. 例如下面的二进制序列化与反系列化: using System; using S ...

  4. C#对word、excel、pdf等格式文件的操作总结

    一.word 这是我以前工作时写过的一个业务逻辑处理类,里面有不少文件操作的方法,这里主要关注一下C#对word的操作.里面的方法可以直接拿出来用,主要是通过word的dot模版来进行创建word.替 ...

  5. 网页clientWidth等相关

    javascript代码:           function getInfo()          {          var s = "";          s += & ...

  6. jquery控制左右箭头滚动图片列表

    jquery控制左右箭头滚动图片列表的实例. 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...

  7. oracle 11g实验五——触发器的使用

    实验要求: 实验五 触发器的使用 实验目的 1.  理解触发器的概念.作用及分类: 2.  掌握触发器的创建.使用: 实验内容 1.  建立表orders:用于存储订单列表信息:表order_item ...

  8. org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode

    [spring]:org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowe ...

  9. 一步步学习ASP.NET MVC3 (5)——View从Action中获得数据

    请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们把Razor的模板技术给大家介绍了一下,当然模板中还有其他的知识点,这个以后我们还会继续讲解.本章我们主要讨论 ...

  10. asp.net中下载功能

    //流方式下载 protected void ButtonButtonDownload_Click(object sender, EventArgs e) { //string fileName = ...