当前位置: 首页 > 编程日记 > 正文

GitHub接连封杀开源项目惹众怒,CEO亲自道歉


作者 | 唐小引

图源 | 东方 IC

来源 | CSDN(ID:CSDNnews)

王坚博士曾经做过这样一个非常形象的比喻,他将做 App 比作是在别人的花园里弄盆栽,「种点花草是没有问题的」,不过「别人叫你的产品下架你就得下架,这是有问题的」,现在在 GitHub 上,众多的开发者显然遭遇了这样的问题。

在昨天,「GitHub 以贸易制裁为由,关闭了对 Aurelia 库的访问」冲上了 Hacker News TOP 榜,其中,既有项目负责人的一头雾水,也有诸多开发者的质疑。

Aurelia 是一款非常知名的 JavaScript 框架,开源已经 5 年有余,其创建者、现微软首席 UX 工程师 Rob Eisenberg 曾是另一款 JS 框架 Angular 团队的成员,2016 年,Eisenberg 加入微软,并得微软许可,继续从事 Aurelia 相关工作。其后,为了 Aurelia 能够更好地发展,转而由 Eisenberg 拥有的 Blue Spire 公司进行管理及运营。

据悉,此次封杀 Aurelia 是因为项目中有两名来自伊朗的贡献者。

尽管同属微软,但 3 月 20 日,Rob Eisenberg 依然不得不通过 Twitter 公开 @GitHub 来解决 Aurelia 被封禁的问题。他在 Twitter 上这样质问 GitHub:「我今早醒来,你关闭了 Aurelia 站点,大量 repos 归档,我也无法再访问 admin 设置。你提出了美国贸易制裁,并给我发了一封没有任何补救信息的非描述性邮件。到底是怎么回事?这对我们来说是毁灭性的打击!」

随后,在开发者不断的质疑声中,GitHub CEO Nat Friedman 在 Hacker News 上进行了回应并道歉。Friedman 这样说道:「关闭这个账户显然是一个可怕的错误,我向所有受到影响的人们道歉。我们正在调查此事发生的原因,并将做出改变以确保此类事件不再发生。我很庆幸的是,在 Aurelia 申诉不到一个小时的时间内,我们就恢复了对它的访问。」

并也解释了 GitHub 为什么不得已而为之的苦衷:

「世界上每家公司如果在美国境内开展任何服务(例如为美国客户提供服务),都必须遵守美国的制裁规定。这甚至包括与美国银行等基础设施的互动。因此,将总部设在其他地方并没有帮助,你必须服从。美国制裁已书面规定不允许我们为被制裁国家提供商业服务或可能被用于商业目的的服务。」

关于 Friedman 所说的银行相关问题,有开发者给出了印证:「我的朋友在银行工作,这家银行有一家生产窗帘的工厂账户,窗帘在波兰语中叫作‘firana’,每当在银行转账时,就会陷入冗长的手动处理模式,因为公司名称中含有一个可怕的‘iran(伊朗)’」。

也有开发者谈到了代码托管的更多选择,比如 GitLab 等,但这显然没有办法彻底解决问题,开发者朋友们,你怎么看?欢迎留言分享。

【end】◆有奖征文◆推荐阅读
TensorFlow2学习:RNN生成古诗词
教你用Android做二次开发,识别率达到科大讯飞语音输入水平 | 原力计划有想法!这群程序员试图用退役挖矿机协助消灭新冠状病毒我就不信 35 岁做不了程序员!
RS 纠删码为什么可以提高分布式存储可靠性?| 原力计划
从提取层、处理层、基础结构入手,带你了解Spark和Kafka!破解面试难题8个角度带你解读SQL面试技巧!你点的每个“在看”,我都认真当成了AI

相关文章:

Phabricator是什么,代码审查工具

Phabricator是什么? Phabricator支持两种代码审查工作流:“review”(提交前审查)和 “audit”(提交后审查)。 Phabricator是Facebook保驾护航的11大IT技术之一。在Phabricator的网站中,开发者给…

结构体中定义函数指针

结构体指针变量的定义,定义结构体变量的一般形式如下: 形式1:先定义结构体类型,再定义变量 struct结构体标识符 { 成员变量列表;… }; struct 结构体标识符 *指针变量名; 变量初始化一:struct结构体标识符…

对卫星网络及内容的安全防护措施

对卫星网络及内容的安全防护措施 网络安全是多领域的综合业务,近10年来在规模和范围方面都获得了极大的发展。对网络及内容潜在的威胁来自各类不同的领域,因此增加了解决这一问题的难度。 在因特网产生之前,对卫星网络及内容实时***的安全防护…

对标Pytorch,清华团队推出自研AI框架“计图”

「AI技术生态论」 人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分。通过对AI生态专家、创业者、行业KOL的访谈,反映其对于行业的思考、未来趋势的判断、技术的实践,以及成长的经历。2020年,CSDN将对1000人物进行系列访谈&#xff0…

echo使用说明,参数详解

简介    echo [OPTION]... [STRING]... 描述    -n 末尾不加换行   -e 开启输出字串中对反斜杠的转译   -E 禁用反斜杠转译   只有开启-e参数的时候,下面的命令才能起作用:   \0NNN 输出NNN(一个八进制数)在ASCII码表中对应的字符,     …

ATSS : 目标检测的自适应正负anchor选择,很扎实的trick | CVPR 2020

作者 | VincentLee来源 | 晓飞的算法工程笔记论文地址:https://arxiv.org/abs/1912.02424代码地址:https://github.com/sfzhang15/ATSS在仔细比对了anchor-based和anchor-free目标检测方法后,结合实验结果,论文认为两者的性能差异…

GCC编译选项--创建与使用库

系统函数库使用 linux系统函数库位于/usr/lib和/lib目录下 #include <math.h> #cc test.c -lm -o test 动态库创建 1).编译时指定-fPIC 通知gcc产生可以重定位的与位置无关的目标代码 2).链接时指定-shared 使gcc编译器生成动态链接库 动态库使用 通过设置环境…

不错的×××实验

(virtual private network 虚拟专网)&#xff0c;利用公用网络&#xff0c;按照相同的策略和规则&#xff0c;建立内部私有连接。 广泛的讲&#xff0c;***体系结构分为&#xff1a;站点到站点的***和远程访问*** 站点到站点的***&#xff1a;在这种情况下&#xff0c;同一个机…

达观数据于敬:个性化推荐系统实践

达观数据于敬&#xff1a;个性化推荐系统实践 在DT(data technology)时代&#xff0c;网上购物、观看视频、聆听音乐、阅读新闻等各个领域无不充斥着各种推荐&#xff0c;个性化推荐已经完全融入人们的日常生活当中。个性化推荐根据用户的历史行为数据进行深层兴趣点挖掘&#…

C语言Free时报错HEAP CORRUPTION DETECTED

char *k1; k1 (char *) malloc(4*sizeof(char)); v1 (char *) malloc(4*sizeof(char)); strcpy(k1,"abcd"); free(k1); 在linux下不会报错&#xff0c;但是在VC环境会报错&#xff1a;HEAP CORRUPTION DETECTED 出现这个错误的原因一般都是操作new申请的内存溢…

DivCSS网页布局中CSS无效的十个常见原因

在学习DivCSS网页布局的知识&#xff0c;可是W3C validation有时难以操作&#xff0c;但用它你可以查看由版面设计引起的差错。验证程序抛出大量差错和警告&#xff0c;说明你的XHTML尚未完善&#xff0c;可能无法在不同浏览器上保持一致功能。下面十个细微的失效问题难住了大批…

如何创建计算机视觉场景训练数据

作者 | 刘明宽 数据科学部门负责人&#xff0c;澳鹏&#xff08;Appen&#xff09;美国 曾任eBay首席研究科学家&#xff08;数据科学总监&#xff09;对于一些精度要求不太高&#xff0c;或者不太复杂的计算机视觉应用场景&#xff0c;利用一些现有的开源数据集如ImageNet/Coc…

express中的bin/www文件详解

2019独角兽企业重金招聘Python工程师标准>>> #!/usr/bin/env node 表明是node执行文件,在做repl工具时候的会用的 "#!"是标识符/usr/bin是环境变量的绝对路径/env 如果是直接#!/usr/bin node ,则执行这个文件的时候,会从/usr/bin中找node命令,如果没有,则…

深度分析typedef--定义自己的数据类型

最近在看redis源码的时候看到Ae.h的时候看到如下源码: /* Types and data structures */ typedef void aeFileProc(struct aeEventLoop *eventLoop, int fd, void *clientData, int mask); typedef int aeTimeProc(struct aeEventLoop *eventLoop, long long id, void *client…

Go对Python产生的冲击

作者 | yuliao来源 | 懒编程&#xff08;ID: hackpython&#xff09;Go 的流行让以 Python 为主流语言的开发者&#xff08;比如我&#xff09;产生了一定的危机感。上一次有这种危机感还是做 Android 开发的时候&#xff0c;当时用 Java 做 Android 开发&#xff0c;Google 强…

更新ADT到Android L的方法

android ADT无法更新到20&#xff1f; 哈哈&#xff0c;有办法&#xff0c;windows 进入host 写入例如以下所有&#xff0c;是的所有。然后在到sdk manager中方可更新 #Google Services START #Googleapis↓ 61.19.1.54 mt0.googleapis.com 61.19.1.54 mt1.googleapis.com 61…

php.ini安全配置详细解释

PHP本身再老版本有一些问题&#xff0c;比如在 php4.3.10和php5.0.3以前有一些比较严重的bug&#xff0c;所以推荐使用新版。另外&#xff0c;目前闹的轰轰烈烈的SQL   Injection也是在PHP上有很多利用方式&#xff0c;所以要保证  安全&#xff0c;PHP代码编写是一方面&am…

5 亿微博数据疑泄露,Python 爬虫如何避免踩天坑?

作者 | 马超来源 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;3月19日&#xff0c;默安科技CTO魏兴国发微博称&#xff0c;微博数据泄露了不少用户的手机号&#xff0c;当中涉及不少微博认证的明星和企业家。亦有网友在他的微博评论区表示&#xff1a;“有超过5.38亿…

GDB使用总结

经典编译参数&#xff1a; # cc -g -o xx xx.c 或者 # cc xx.c -g -o xx 如果调试不是进程总的程序 可以直接 #gdb 程序名即可 # i 打印行号 #break 行号 #r 重新开始调试 利用set args 命令就可以修改发送给程序的参数&#xff0c;而使用show args 命令…

Spring概述

Spring 是什么Spring是一个开源的轻量级Java SE&#xff08;Java 标准版本号&#xff09;/Java EE&#xff08;Java 企业版本号&#xff09;开发应用框架&#xff0c;其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中&#xf…

Nginx模块开发

最简单的Nginx模块开发&#xff0c;虽然简单&#xff0c;但是是最重要的第一步。 主要是看&#xff1a;http://blog.codinglabs.org/articles/intro-of-nginx-module-development.html 1.准备模块文件 在nginx-1.4.2安装目录新建一个自己的模块的目录 # mkdir myModule 再新…

程序猿惯用口头禅与内心真实 OS,快来看看你中招没?

作者 | 他二哥来源 | 腾讯技术工程滑动查看真实内心 OS滑动查看真实内心 OS滑动查看真实内心 OS滑动查看真实内心 OS滑动查看真实内心 OS滑动查看真实内心 OS滑动查看真实内心 OS滑动查看真实内心 OS滑动查看真实内心 OS【end】◆精彩推荐◆推荐阅读百万人学AI&#xff1a;CSDN…

每日学习笔记(1)

1&#xff0c;python2.4不支持下面这种异常处理语法 try: except: finally: 只有2.5以上才行&#xff0c;为此只能改成下述写法,damn fuck python 2.4... try: try: except: finally: 2,python实现单例模式的一种方法: class MyCl…

linux svn使用方法

1 安装 svn sudo apt-get install subversion 2 查看svn版本号 svn version 3 下载源代码 下面以举例 svn co svn://192.168.5.88/ erppurchase -username hming -password hming /var/www/test 4更新代码 cd /var/www/test/ svn up 当前目录下所有的文件都更新 svn up -r 200…

64% 的企业未实现智能化,5成公司算法工程师团队规模小于 10人,AI 工程师的机遇在哪里?...

整理 | 夕颜责编 | 唐小引出品 | CSDN&#xff08;ID:CSDNnews&#xff09;当前&#xff0c;人工智能技术已应用于各行各业&#xff0c;落地成为大家关注的核心问题。在经历了 2019 年的行业低谷期之后&#xff0c;无论是行业巨头还是新兴独角兽&#xff0c;都开始审视 AI 能够…

指针的本质--u_char*指针在Nginx源码中的应用及原因

GNU下的void *p相当于char *p 也就是移动一个字节。 下面的代码是Nginx中内存池的结构体代码&#xff0c;其中last和end是表示内存地址的。 last是u_char*指针类型也就是unsigned char typedef struct {u_char *last;u_char *end;ngx_pool_t …

原来这就是乡下人

来源&#xff1a;http://user.qzone.qq.com/313998514/blog/1215427152#!app2&viaQZ.HashRefresh&poscatalog_private 今天早晨一早就去做家教了, 原因是我的学生要去香港去学习七天, 明天就要走了, 所以为了赶时间, 今天的课就提到早晨来上. 这些都很正常, 早晨6:17我…

如何查看Apache的连接数和当前连接数

查看Apache的连接数和当前的连接数以及IP访问次数&#xff0c;下面有个不错的示例&#xff0c;大家可以参考下&#xff0c;希望对大家解决问题有所帮助查看了连接数和当前的连接数 复制代码 代码如下:netstat -ant | grep $ip:80 | wc -l netstat -ant | grep $ip:80 | grep ES…

linux环境insight安装与使用

去官网下载&#xff1a;ftp://sourceware.org/pub/insight/releases 安装步骤 # wget ftp://sourceware.org/pub/insight/releases/insight-6.8-1a.tar.bz2 # tar xvf insight-6.8-1a.tar.bz2 # cd ./ # ./configure --prefix/usr/local/insight # make 注意第一次make…

磁盘加密软件TrueCrypt知识大全(二)之创建文件型加密卷

磁盘加密软件TrueCrypt知识大全&#xff08;二&#xff09;之创建文件型加密卷 1、在“TrueCrypt”窗口中选择“创建加密卷&#xff08;C&#xff09;”按钮&#xff0c;在向导中选择“创建文件型加密卷”&#xff0c;然后一直下一步。 2、在TrueCrypt加密卷创建向导中单击“选…