GNU 与自由软件基金会创始人 Richard Stallman 访谈录

自由软件之父Richard Stallman及其思想 GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU Genera 阅读详情

Richard Stallman 是著名的 GNU 项目,自由软件基金会创始人,这是 vnunet.com 对 Richard Stallman 做的一次访谈,谈到了他对自然软件,商业软件以及开源软件看法,另谈到了社会网络站点以及隐私问题。原文作者 Rosalie Marshall。

作为自由软件基金会的创始人,你如何定义自由软件?

自由软件意味着尊重用户的自由,更具体地说,作为用户你拥有以下4个最根本的自由:

  1. 你可以自由使用该软件
  2. 研究其源代码并进行修改
  3. 可以自由分发该软件
  4. 可以自由分发你修改过的版本

基于这些自由,用户可以掌控自己的计算,自由软件是在用户的控制下民主地开发起来,而商业软件是在特定团体的控制下专制地开发起来。用户面临的选择是自由还是受限。

你刻意将自己和开源社区保持距离,能否解释一下二者的区别?

开源软件同自由软件在许可上几乎是一致的,因为开源软件是从自由软件基础上发展起来的,最大的区别在于其价值体系。自由软件运动的主要价值是自由与合作,而商业软件是反合作的,这是一个社会问题,我们的目标是改变这个问题。

1990年代,自由软件社区出现了价值分歧,1998年,一些人提出了“开源”一说,开源这个词的初衷这是为了避免隐含对非自由软件的批评,他们关 注他们的实践价值。开源的理念使一些开发者将自己的产品变成自由软件,我欣赏他们对自由软件社区的贡献,但不赞同他们的价值体系。

自由软件更重视价值,而开源软件重视实践,这是二者最大的区别 - 译者。


是什么东西影响你发起自由软件运动?

1970年代,我在 MIT 的 AI 实验室工作,我加入了那时最大的自由软件社区,那个社区包括当时一些大学和公司。在 AI 实验室,我们使用一个免费的操作系统。在自由软件社区的那段时光我意识到了那是和美妙的事。

1980年代,商业压力,连同大型机的衰落最终导致我们的社区解散。后来开始使用商业软件的日子让我感到非常不堪,便决定自己创建一个新的自由软件社区。

1983年,我宣布了开发 GNU 的计划,这是一个完全自由的,类似 Unix 的操作系统,为了区别于 Unix,我起名为 GNU,意思是,Not Unix。

为什么你认为这些不同的名称,开源,自由软件, 商业软件,GNU/Linux 是很重要的?

在自由软件社区,自由软件和开源代表两个不同立场,作为自由软件运动的发起人,我在努力传播自由的理念。因此我拒绝参加开源活动。

我注意到 FSF 的 Shane Coughlan 在同 Google 的开源团队合作。FSF 是否同那些开源组织合作?

Shane 是欧洲 FSF 的,我不知道他在做什么,但我可以告诉你我们的原则,我们同自由软件项目进行技术合作,只要它是有用的,不管开发者是否认同自由软件的价值观。

在你看来 OpenOffice 与 Firefox 一类的软件是否自由软件?

OpenOffice is free software, and has been ever since it appeared under that name. OpenOffice 一直是。

Firefox 是个奇怪的个案,一开始,Firefox 代码是自由的,但编译的二进制文件不是。他们不是自由软件的理由有二,第一,他们包含一个非自由模块,Talkback,Talkback 的代码不能自由获得(甚至 Mozilla 基金会也得不到),第二,他们使用具有限制性的 EULA (用户许可协议)。

不过,这两个问题现在好象已经改正,所以现在应该也是自由软件。


你对一些地理位置监控类的程序如何看,比如 Yahoo 的 Fire Eagle?

如果你要告诉朋友们你在哪里,这很好,但你不能将自己的交流数据放往一个你不信任的公司的服务器。这个程序可能有一个“删除以往数据”的命令,但你不知道他们是否真这样做了。这是 Internet 被错误利用的很不好的趋势,就是将用户的交流数据送往某个公司的服务器。

你对社会网络站点如何看待?

我从来不用所以没有发言权。我看不出在你的朋友之间分享信息和照片有什么不好,我曾听到传闻,说 Facebook 将私人数据传给 CIA,不知真假。

你觉得 Asus EeePC 一类的笔记本电脑是否推动 FSF。

不 完全是。EeePC 内置了一些 GNU/Linux 操作系统,但也包含很多非自由软件。事实上,这些机器在启用前要求你接受一些用户协议。我受到一个 EeePC 礼物,但我不能使用,因为我的良心不允许我接受那些协议,后来我让人帮我装了一个自由的 GNU/Linux 才开始用。

当自由软件出了问题,谁该负责?

自由软件开发者和商业开发者一样尽我们所能来保证软件的可靠性。自由软件给了用户比起诉软件商更好的东西,如果系统除了问题,你很容易找到人帮你排除,只要价格公道。(未必,当然商业软件也未必 - 译者)

为什么你们在印度和委内瑞拉一类的地区如此卖力推广自由软件?

这 个问题会让人误解,其实我每年花在美国的演讲时间比委内瑞拉和印度要多得多。但我确实花了很多时间外出演讲。委内瑞拉, 厄瓜多尔 一类的地区有政策要求所有政府部门必须使用自由软件。在印度,有三个省的公立学校要求使用 GNU/Linux。我希望在美国也能看到人们对用户的自由的重视。

你是否认为公共部门应该引领自由软件浪潮?

任何公共部门都应该拥有对自己的计算的控制,而非自由软件的控制权在厂商那里。因此,公共部门应当拒绝商业软件而投身自由软件。委内瑞拉, 厄瓜多尔做得对。

一些慈善机构,如 Computer Aid International 会把一些二手电脑收集起来送给发展中国家,如果也投身 GUN,是否意味着会有更少的学校能得到电脑?

你 可以在任何电脑上安装 GNU/Linux,因为使用自由软件并不意味着他们可以捐赠的电脑变少。更进一步,我们的本意是让计算机造福,但将装有 Windows 的电脑送给他们是好事吗?使用商业软件意味着向开发商屈服,这是一个社会问题,我们应该消除这个问题,而不是扩大。向他们捐赠 Windows 电脑是一种屈服,走的是错误的道路。

自由软件如何同当前的经济环境契合?一些人认为经济危机是对资本主义体系的控诉,这是否公正的看法?

和以前一样,自由软件可以同各种经济环境契合,不管经济是好还是坏,你都需要自由。我认为经济危机来自一种普遍存在的深度腐败,因为公司拥有过多政治力量。不公平的版权法律也是这个基本问题的结果。

自由软件固然可以节省成本,但那些在商业软件工作的人怎么办?如果人们都使用自由软件,而不再需要商业软件?

这里存在一个误区,自由软件并不减少技术支持市场。那些购买了商业软件又转用自由软件的人仍然需要支持,自由软件的好处是它允许自由的支持市场。

另外,还有些更根本的东西,就是价值,似乎我们在假设人们喜欢被不公正的权力所左右,我在那里需要人们妥协自己的自由才能使用的软件那里看不到积极 的价值。我自己不会使用这样的软件。我在1983年发起 GNU 项目,就是为了脱离商业软件,现在我离开了,就不会再回来。我希望看到没有人再为商业软件从事开发的那一天。

本文国际来源:http://www.vnunet.com/vnunet/news/2230530/q-richard-stallman-founder-gnu
中文翻译来源:COMSHARP CMS

数模笔记_多变量最优化计算之牛顿法 Date: 2_22 Name: Guo Yehao Theme: Calculation in Optimality with multiple variables Reference: 数学建模方法与分析(华章) 在上一节中,我们讨论多变量最优化计算中的随机搜索算法,它的精度并不是众多算法中最高的。在精度问题上,有的时候问题本身就带有明显的误差性,以至于我们不能将其忽略,比如上一节消防站部署的问题,我们在区域划分时就有了误差,因此我们并不需要对结果要求很高的精确度,所以用一些比较粗略的算法就可以. 阅读详情

相关推荐

瑞芯微RK809音频驱动

瑞芯微RV1126中的RK809音频驱动开发

m0_61899715的博客 5222

关于GNU和GPL!

GPL的中文全称是通用公共许可证(GNU General Public License),GPL的全称是General Public License,意为“通用公共许可协议”。自由软件的创始人Richard Stallman从软件的版权许可协议入手,创设了这种与自由软件发展相适应的“通用公共许可协议”,其宗旨就是保证用户有无限复制和修改的权利。GPL是自由软件著作人同意的、保证任何人有共享和修

太郎之石的专栏 2175

统信UOS系统盘扩容保姆级教程:用GParten-分区编辑器5分钟搞定

本文提供统信UOS系统盘扩容的详细图形化教程。针对系统盘空间不足问题,重点介绍如何使用系统自带的GParten-分区编辑器,在5-10分钟内安全、直观地完成扩容操作,无需记忆复杂命令,适合所有用户快速解决存储空间告急的困扰。

e3f4g5的博客 645

什么是 GPL GNU,自由软件

GPL全称为 General Public License,中文名为通用公共许可,是一个最著名的开源 许可协议,开源社区最著名的 Linux内核就是在GPL许可下发布的。GPL许可是由自 由软件基金会创建的。 GNU计划由Richard Stallman(理查德•马修•斯托曼)发起,主要目标是创建GNU操作系统,其内容软件完全以GPL方式发布。GNU名称来自GNU’s Not Unix!的缩写,汉...

weixin_43812090的博客 2899

Comsol 压电换能器声场仿真(远场分析、边界元法优化)

本文详细介绍了在Comsol中使用边界元法进行压电换能器远场声场仿真的高效方法。针对传统有限元法计算远场时内存消耗大、耗时长的问题,文章阐述了边界元法在处理无限域、提升计算效率和精确获取远场指向性方面的核心优势,并提供了从多物理场耦合设置、网格划分策略到求解器配置及结果验证的完整实战指南。

weixin_29045585的博客 408

XLSX Workbench 在 ABAP 世界的定位与实战:从概念到完整示例

XLSX Workbench 在可视化、易维护与批量后台生成三方面填补了 ABAP 报表到 Excel 的空白。它与官方类及社区明星 abap2xlsx 形成了“模板驱动、代码驱动、二者兼顾”的互补格局。掌握 Workbench 后,开发者能把精力集中在业务逻辑以及数据质量,而把排版细节交给图形化工具,大幅加速交付与迭代。通过本文提供的示例,你可以立即在项目中落地并尝到效率提升的红利。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 525

苹果电脑是“监狱”、弃用 Ubuntu,GNU 创始人斯托曼谈自由软件运动现状

斯托曼对自由软件独特的见解。

优快云资讯 9055

嵌入式NuttX RTOS面试题及参考答案

NuttX 的板级支持包(BSP)是一组软件组件,用于将 NuttX 操作系统适配到特定的硬件平台上。BSP 提供了硬件抽象层,使得 NuttX 能够与硬件进行交互,包括初始化硬件设备、提供设备驱动程序等。BSP 的主要作用是隐藏硬件细节,为上层应用程序和操作系统内核提供统一的接口,从而提高软件的可移植性和可维护性。开发 NuttX 的 BSP 通常需要以下步骤:硬件分析:首先需要对目标硬件平台进行详细的分析,了解硬件的架构、处理器类型、外设接口等信息。

大模型大数据攻城狮的专栏 1306

影响Linux发展的四位天才黑客

相信大家对 Linux 再熟悉不过了。我们都知道 Linux继承自 Unix,但其实他们上一代还有一个 Multics。从最早的 Multics 发展到最早版本的 Linux,用了 28 年。这其中有四位天才级大师的贡献功不可没。现在就大家一起来回顾一下这段历史 操作系统鼻祖——Multics Multics 全称是 MULTiplexed Information and Computing S...

weixin_33946020的博客 337

STM32实战开发(122):基于STM32的溶解氧检测系统设计与实现

溶解氧(DO, Dissolved Oxygen)是水质检测中至关重要的指标之一,尤其是在环境监测、工业废水处理以及水产养殖等领域,溶解氧的浓度直接影响到水体的生态环境和生物的健康。电流的大小就可以用来反映水中溶解氧的浓度。本博客将详细介绍如何基于STM32微控制器开发一个智能溶解氧检测系统,内容涵盖系统的硬件设计、软件开发、优化与调试等方面,提供实际的代码实现与实验数据,并展望溶解氧检测系统在物联网环境下的应用。为了提高系统的精度,可以优化ADC的采样率,增加传感器的校准频率,或使用更加精确的传感器。

2201_76125393的博客 1603

自抗扰控制(ADRC)理论与工程实践:8.2 模糊ADRC、神经网络ADRC等智能融合变体

智能融合ADRC变体概述 自抗扰控制(ADRC)与智能控制方法(如模糊逻辑、神经网络)的融合,旨在突破传统ADRC在非线性、时变系统中的应用局限。智能融合ADRC主要通过以下方式实现性能提升: 模糊ADRC 参数自整定:利用模糊推理在线调节ADRC带宽参数,实现自适应控制。 非线性反馈:用模糊控制器替代线性PD,灵活设计非线性控制策略。 优势:融入专家经验,无需精确模型;局限:依赖规则库设计,稳定性分析困难。 神经网络ADRC 增强ESO:用神经网络学习扰动动态,提高估计精度。

技术工作者 228

GPL前世今生,什么是GPL/GNU?为什么如此重要?

从事Linux开发的朋友一定都听过GPL,那么到底什么是GPL呢?他有什么作用呢?本文给大家做详细讲解。 什么是GPL 历史 作用

一口Linux的专栏 4902

[Godot][入门] 安装与版本选择:3.x 还是 4.x?(按项目类型一键决策)

摘要: Godot引擎版本选择需根据项目需求权衡3.x与4.x。Godot4.x(如4.2)适合3D开发和新项目,支持Vulkan和GDScript2.0,但生态尚不成熟;Godot3.x(如3.5.3)则更适合稳定2D开发、Web导出及依赖现有插件/教程的场景。安装方式极简,官网下载解压即可运行。新手建议:短期高效选3.x,长期探索选4.x,旧项目勿盲目迁移。附版本对比表及决策树,助开发者快速匹配需求。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 912

GNU计划是干什么的?底层原理是什么?

它鼓励用户和开发者共同参与软件的开发、测试和改进,从而创建出高质量、安全、可靠、易用的软件,并保障用户享有完全自由的使用、分发、复制和修改软件的权利。GNU计划的核心是GNU通用公共许可证(GPL),它是一种开源许可证,保证了开发者可以免费使用和修改GNU软件,并且可以将修改后的软件重新发布。"GNU"代表"GNU's Not Unix",它的名称是为了表达对Unix操作系统的崇敬,同时也强调GNU计划不是Unix的衍生品,而是一个全新的、自由的操作系统。

长风破浪会有时的博客 748

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

GNU计划

GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有...

weixin_33709590的博客 269

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

自由软件之“父”—Richard. M. Stallman

Richard Stallman是自由软件运动的领袖,是GNU计划及自由软件基金会FSF(Free Software Foundation)的创立者。他为自由软件运动竖立了道德框架,被许多人誉为当今自由软件的斗士、伟大的理想主义者,但同时也有人批评他过于固执、观点落伍。   “叫我RMS”         1953年,RichardStallman出生于美国纽约曼哈顿地区。1969年,1

lvzhuyiyi4的专栏 2978

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

GNU和GPL是什么

1。GNU GNU的全称是GNUs Not Unix 这是官方的递归定义,永远找不到本义,是开源软件的幽默。 GNU是一个自由软件工程项目。下面的文字没有具体解释GNU是哪几个单词的所写,但从整体上说明了GNU工程是怎么回事,希望对你有帮助。 GNU工程已经开发了一个被称为“GNU”(GNU是“不是UNIX”的缩写)的、对Unix向上兼容的完整的自由软件系统(free software syst

lennyf的专栏 9067

GCC强大背后

前记: 经常浏览博客园的同学应该会觉得本文有标题党之嫌,这个标题的句式来自于MiloYip大牛的大作《C++强大背后》,在此,向Milo兄致意。 GCC,全称GNU Compiler Collection,是一套GNU开发的编译器环境,它的创始人便是大名鼎鼎的Richard.M.Stallman。最初GCC刚开始开发时,它还叫做GNU C Compiler,随着开发的深入,GCC很快...

weixin_30361753的博客 382

GNU创始人:云计算是“比愚蠢更糟糕”

GNU and Free Software Foundation founder Richard Stallman has some strong thoughts about the idea that some or all software should transition to the cloud, an idea that is backed by many of today’s so...

culh2177的博客 417

GNU和GPL

GNU GNU 是一个自由的操作系统,名称由来字GNU’s Not Unix的递归缩写(递归缩写:即用自身来解释自身,就像递归函数自身调用自身一样)Gnu在英文中为非洲牛铃,这个操作系统是GNU计划的主要目标,其内容软件以GPL方式发布,由Richard Stallman发起,由于GNU 自己开发的内核 Hurd 尚未被开发成功,离实用还有一定的距离。因此,GNU 通常使用 Linux内核,199...

zhangyifang_009的博客 1332

GPLv3:大教堂和集市的新一轮对抗

GPLv3:大教堂和集市的新一轮对抗 陈皓http://blog.youkuaiyun.com/haoel/  自从AT&T开始私有化原本以开源方式发布的Unix以来,众多老牌程序员和组织失去了修改和编写Unix的权利和乐趣。正当世界计算机软件文明开始陷入了黑暗的帝国的时代,整个计算机世界正在讨论关于“大教堂”(集权、封闭、受控、保密)和“集市”(分权、公开、精细的同僚复审)两种开发模式哪个更

陈皓专栏 【空谷幽兰,心如皓月】 1万+

GNU和LINUX到底怎么个发音?

GNU和LINUX到底怎么个发音?怀恋在子夜.GNU应该是G-NU,中文就是“革奴”计划。gnu,[nju:],n. 牛羚, 角马,不过一般读"革奴".2.根據Torvalds的說法,Linux的發音和「Minix」是押韻的。「Li」中「i」的發音類似於「Minix」中「i」的發音,而「nux」中「u」的發音類似於英文單詞「put」中「u」的發音。此外在有一份Torvalds本人說話的音頻,音頻內

吴垠的专栏 1万+

gnu计划

GNU是“GNU is Not Unix”的递归缩写 UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件。 1985年Richard Stallman又创立了自由软件基金会(Free

fourous的博客 1357
上一篇: Web 设计:实现干净代码的12条定律
下一篇: 1998年一个14岁男孩对 Google 的预言
comsharp
博客等级 码龄20年 1475粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值