李国杰院士:国内开源社区的崛起需要一个过程

[CSDN.NET 付江/文]日前,在第二届“龙芯杯”中国开源软件设计大赛启动仪式上,CSDN记者专访了中国工程院院士、第三世界科学院院士李国杰。李国杰院士就国产基础软件现状、面临的机遇和挑战、开源环境以及生态系统建设等话题分享了自己的看法。

打造自主可控的基础软件环境

李国杰院士强调对于新的生态环境,应该是从最基础的指令系统做起,到底层的芯片、到系统软件和中间件、一直到应用,建造一个自主可控的平台。这个平台是完全开放的,也是我们自己可以修改的,包括开源操作系统,开源的中间件,数据库等,形成一套全新的产业链。

在李国杰院士看来,所谓自主可控不是构造一个封闭的体系,而是要构造一个比Google、Apple公司更加开放的产业生态环境。一个产业要改变其发展方式,一个国家要想从科技大国变成科技强国,没有一个真正开放的产业生态环境,就总也掌控不了发展方向,就总要被别人牵着走,如何还能变强?

谈到近几年国内的企业已经越来越重视“创新”这个话题时,李国杰认为我们所提到的创新,应该是一个生态环境的创新,而不仅是一种或几种技术的突破。如果我们的科技企业永远寄人篱下,在别人已有的环境中说:me too,那么这样的创新就没有实质的意义。

“我们的企业不要做别人的跟随者,避免成为别人转型更新中的牺牲者。因此,我们必须要进行生态环境的创新,从底层做起,从建立自己的生态环境做起。虽然这样的创新异常艰苦,可能要花十年二十年来改变。但也只有这样的创新,才能真正使科技企业的产业链有所振兴”,李国杰院士表示。

中国工程院院士、第三世界科学院院士 李国杰

李国杰列举了龙芯CPU的例子,作为我国自行研制的高性能通用CPU,首款具有自主知识产权的商用芯片,结束了我国信息产业在核心技术上一直受制于国外的"无芯"局面,使中国信息产业向前迈进了一大步。

谈到国内基础软件厂商“创新力缺失”话题时,李国杰认为最根本原因还在于国内企业不愿做风险比较大的事情,喜欢跟着国外企业走,走跟随路线,当然就没有自己做那么大的风险!而要改变目前这种现状,他认为从政府到各家基础软件厂商首先都必须下定决心,从底层做起完善产业链条。他遗憾的表示,现在国内大部分公司仍没开始动起来,都在国外的平台上做应用。这个环节长期以来都没有根本性改变,但必须改变。十年、二十年改变过来也行,但不能永远不改变,如果不改变这点,中国的信息产业永远都将是现在这个样子,振兴基础产业链的愿景不可能有大的突破。

国内开源社区的崛起需要一个过程

在谈到对国内开源社区现状的看法时,李国杰院士认为目前(国内)开源社区发展艰难,因为大家都愿意去用开源代码,但贡献的人不多,没有“我为人人,人人为我”的精神和心态。但这两年以来,做贡献和乐意分享的多起来。这种转变需要一个过程,贡献的人多了,再给予一定鼓励,做开源的人会越来越多,形成良性循环。

此外,经济基础决定上层建筑,过去交流比较少,资金、技术方面都不够,以前可能没有掌握核心技术,你让他贡献,他贡献不出什么技术,但随着国家的发展,经济水平和技术水平近几年都有了提升,慢慢就会有个很好的环境。

人才培养让开源良性循环

针对国内的开源软件环境,李院士鼓励更多的年轻人加入到开源当中,一方面要透过企业或者政府的鼓励,另一方面也要建立更加完善的制度,让开发者的智慧和贡献受到保护,这样他们才会更加积极,整个开源的环境才会进一步提升。

作为我国信息产业的领头企业,龙芯自行研制的高性能通用CPU,具有完全自主知识产权。它的诞生结束了我国信息产业在核心技术上一直受制于国外的"无芯"局面,使中国信息产业向前迈进了一大步。

李院士认为本次“龙芯杯”的举办意义不仅体现在龙芯的产品上又增加几个软件,更多的是为我国的软件开发队伍培养一支生力军,那些基于龙芯平台开发开源作品的学生们能够通过这个平台发挥自己的价值。

第二届“龙芯杯”中国开源软件设计大赛以开源软件研发、开源文化传播来促进高校及开源社区发展,发现和培养技术人才;解决和突破国产处理器、固件、操作系统配套使用时的关键“瓶颈”技术,满足国家重点行业的应用系统对国产基础软件硬件技术的要求,从而带动我国计算机产业的持续健康发展,本次大赛促进了开源界的良性循环。

“希望有一天中国的年轻人都能用自己的平台去开发软件。热爱龙芯、开源的学生毕业后成为龙芯的合作伙伴。”李院士说,“他们可以在龙芯的基础上,或者别的国产平台上,开发自己的软件,他们可以选择将自己设计的软件在全世界投放。”

最后,就CSDN记者问到的前几年国产基础软件抄袭源代码和自主创新的讨论,李国杰认为最重要的一个原则就是要遵循各项开源规范的规则,各种开源规则有松有紧,但不管采用哪种模式,都必须按规则来办。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SuperMap iObject入门开发系列之五管线属性查询

本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢。 管线属性查询功能针对单一管线图层进行特定的条件查询,然后将查询结果输出为列表,并添加点位闪烁功能,例如查询污水管线中…

三类基于贪心思想的区间覆盖问题

一、区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖。 样例:一个长度为8的区间,可选的线段有[2,…

Eclipse搭建Android开发环境(安装ADT,Android4.4.2)

见:http://blog.csdn.net/zht666/article/details/29837777 使用Eclipse做Android开发,需要先在Eclipse上安装ADT(Android Development Tools)插件。 1.安装JDK 1.7 JDK官网http://www.oracle.com/technetwork/java/javase/downlo…

Silverlight Blend动画设计系列八:拖放(Drag-Drop)操作与拖放行为(DragBehavior)

Silverlight & Blend动画设计系列八:拖放(Drag-Drop)操作与拖放行为(DragBehavior) 原文:Silverlight & Blend动画设计系列八:拖放(Drag-Drop)操作与拖放行为(DragBehavior)在Silverlight中自身并没有提供拖放功能的相关实现,要实现拖…

mysql查询显示行号

见:http://blog.csdn.net/muzizhuben/article/details/49449853 使用mysql查询显示行号,没有像oracle这么方便。 不过也可以通过设定变量显示行号,例如: -- 生成 行号 select r:r1 as rowno , a.* from my_tb a ,(select r:0) b …

深入了解Spring IoC

IoC全称Inversion of Control即控制反转,它还有一个别名依赖注入。spring利用Ioc容器帮我们自动构建对象及注入依赖对象,减少了对象构建与业务代码的耦合,使得我们能够更加高效愉快的写bug🐞了( ̄▽ ̄)"…

java类加载顺序

在java中类的加载、初始化都是在程序运行期完成的,虽然会稍微增加开销,但是却很大的增加了灵活性,我们可用在运行期间动态的去网络或其他地方加载一个二进制流来作为程序代码的一部分。接下来我们简单介绍下java类加载过程。 从上图中我们可…

dealloc不调用的情况

2019独角兽企业重金招聘Python工程师标准>>> 1、没有停止定时器 - (void)dealloc { [_timer invalidate]; _timer nil; } 2、VC中有代理Delegate&#xff0c;需要设置delegate的时候&#xff0c;设置为weak property (nonatomic,weak) id<ZoeEatDe…

[MicroPython]stm32f407控制DS18B20检测温度

2019独角兽企业重金招聘Python工程师标准>>> 1.实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法。 2. 进一步学习编制数据输出程序的设计方法。 3. 学习DS18B20的接线方法&#xff0c;并利用DS18B20检测当前温度。 2.所需元器件 F407Micropython开发板…

Java中Web程序修改配置文件不重启服务器的方法

见&#xff1a;http://blog.sina.com.cn/s/blog_69398ed9010191jg.html 另&#xff1a;http://ekisstherain.iteye.com/blog/1701463 jrebel 、JavaRebel是什么&#xff0c;见另一博客&#xff1a;jrebel/JavaRebel 开发环境 1. JDK 2. MyEclipse 3. Tomcat 4. Struts2 5.…

一起唠唠分布式锁

&#xff08;1&#xff09;分布式锁和分布式事务的区别 1.分布式锁是在集群环境下&#xff0c;用来控制不同机器对全局共享资源的访问。 2.分布式事务是在集群环境下&#xff0c;用来保证全局事务的一致性&#xff0c;保证多个数据库的数据整体上能正确的从一个一致性状态转到…

DCT(离散余弦变换(DiscreteCosineTransform))

离散余弦变换&#xff08;Discrete Cosine Transform&#xff0c;简称DCT变换&#xff09;是一种与傅立叶变换紧密相关的数学运算。在傅立叶级数展开式中&#xff0c;如果被展开的函数是实偶函数&#xff0c;那么其傅立叶级数中只包含余弦项&#xff0c;再将其离散化可导出余弦…

从源码看ConcurrentHashMap

简介 ConcurrentHashMap是线程安全的HashMap实现&#xff0c;这里主要研究JDK8后的ConcurrentHashMap&#xff0c;下面是ConcurrentHashMap的简单结构&#xff1a; ConcurrentHashMap基于HashMap的基本逻辑&#xff0c;通过CAS synchronized 来保证并发安全性。ConcurrentHas…

Spring Boot 整合Mybatis (一)

2019独角兽企业重金招聘Python工程师标准>>> 新建spring-boot项目&#xff0c;相关依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><de…

x264 的 cache详解

在这里和下一级别的分析中有必要先讲一下这个h->mb.cache&#xff08;没法讲&#xff0c;就是cache!&#xff09;。 x264_macroblock_cache_load将参考帧中某位置的&#xff08;重建后&#xff09;数据保存进cache&#xff0c;供参考和反复使用。 x264_macroblock_cache_s…

Repeater的使用

1.页面代码 如果要分页&#xff0c;那么页面开头必须写&#xff08;<% Register Src"~/Controls/Page.ascx" TagName"Page" TagPrefix"uc1" %>&#xff09; 并且分页&#xff0c;页脚<uc1:Page ID"Page2" runat"server&…

Android NDK MediaCodec在ijkplayer中的实践

https://www.jianshu.com/p/41d3147a5e07 从API 21&#xff08;Android 5.0&#xff09;开始Android提供C层的NDK MediaCodec的接口。 Java MediaCodec是对NDK MediaCodec的封装&#xff0c;ijkplayer硬解通路一直使用的是Java MediaCodec接Surface的方式。 本文的主要内容是&a…

leetcode-49-字母异位词分组(神奇的哈希)

题目描述&#xff1a; 给定一个字符串数组&#xff0c;将字母异位词组合在一起。字母异位词指字母相同&#xff0c;但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"], 输出: [[&quo…

【精心总结】java内存模型和多线程必会知识

内存模型 &#xff08;1&#xff09;java内存模型到底是个啥子东西&#xff1f; java内存模型是java虚拟机规范定义的一种特定模型&#xff0c;用以屏蔽不同硬件和操作系统的内存访问差异&#xff0c;让java在不同平台中能达到一致的内存访问效果&#xff0c;是在特定的协议下…

快速解决 GRADLE 项目下载 gradle-*-all.zip 慢的问题

1、首先根据项目中 gradle\wrapper\gradle-wrapper.properties 文件的 distributionUrl 属性的值 #Tue Feb 06 12:27:20 CET 2018 distributionBaseGRADLE_USER_HOME distributionPathwrapper/dists zipStoreBaseGRADLE_USER_HOME zipStorePathwrapper/dists distributionUrlht…