开源协议怎么选?MIT、BSD、Apache 2.0、GPL、AGPL、LGPL、MPL 完全指南

有些朋友可能会认为——开源不就免费随便用吗。 nonono,这个认知是大错特错的。 搞不清楚开源协议,可能会吃官司哦。 本篇文章会按照从尺度宽松到严格的顺序,带大家盘点不同的开源协议。 并且会结合实战案例,教大家如何一键添加开源协议。 先来介绍,开源协议中的佛系三剑客 —— MIT、BSD、Apache。 为啥叫它们佛系三剑客呢?因为,它们的要求很宽松,IT界统称它们为“宽松型开源协议”。 这三剑客的共同点 —— 可以自由地商业化、修改代码、甚至把修改的版本闭源。 总而言之,看到这些协议的开源项目,你用就完事了,不要有任何负担。 那它们有什么不同点呢? 1、MIT MIT 协议有一个要求 —— 在你分发软件的时候,要把版权声明带上。 第一个问题——什么是软件分发呢? 软件分发是把你的软件,打包给别人使用。 你自己做个网站,别人来访问,这不叫分发。但是,你把网站代码打包发给别人,这就叫分发了。 所以,这个时候就需要声明一下 —— 你项目中,用了哪些开源项目。 第二个问题——怎么声明? 如果你是在代码中,直接引用了别人的代码,那么,你需要添加这样的声明。 --- 引用部分开始 --- Copyright (c) 2022 原作者名字 Licensed under the MIT License (MIT) --- 引用部分结束 --- 这里开始写你自己的代码... 如果采用调用三方库的形式,那么你需要在项目中添加THIRD-PARTY-NOTICES.txt这样的声明。 这些文件看似复杂,其实都可以一键生成。 后面的实战案例中,我会跟大家分享。 前端大名鼎鼎的vue框架、jquery框架,使用的就是MIT协议。 2、BSD BSD 协议,增加了一条 —— 不能用原作者的名义或商标来给你的衍生产品做商业推广。 比方说,你的团队开源了一个项目,它遵从 bsd 开源协议。 我的产品用了你的项目。 我在做产品宣传的时候,不能大张旗鼓地说:我的产品用了某某大佬团队的技术,保证这个产品又丝滑又稳定又安全。 3、Apache License 2.0 apache协议在专利层面上,对开源的项目进行约束,以防止一些专利流氓破坏开源环境。 举个例子:A公司申请了某个专利技术,叫小a专利。 某个开源项目 xx 的负责人C,使用了这个小a专利。 A公司见有利可图,便起诉了负责人C要求赔偿。起诉的同时,A公司就不能继续使用 xx 项目了。 ...

2026年5月4日 · 高勉

GitHub Explore 完全指南:像刷抖音一样发现优质开源项目

今天的视频,跟大家分享一下,如何像刷抖音、逛淘宝一样,玩github。 视频里面,我会跟大家进行分享三个方法。 1、官方推荐 2、网站汇总 3、邪修方法 另外,有些小伙伴会有顾虑,作为中文用户,就算让我逛github,我也看不进去啊?!没关系,这期视频会告诉你解决方法。 1、官网推荐 我们在首页这里,点开左侧侧边栏,找到explore选项。 点开之后,你就能看到新世界的大门。 1.1 explore 首先,我们看到的是explore标签页。 正如这个标题所说,这里展示的是你感兴趣的东西。 还记得之前讲的star功能吗? 它会根据你左侧的star记录,推荐一些你可能感兴趣的项目。 这个其实跟小红书,抖音等平台的推荐算法很像,你越喜欢什么,它就越推荐给你什么。 你可以根据它的推荐,点击进去浏览这些项目。 1.2 Topics topics这个标签页,也正如标题所言 —— 浏览GitHub上的热门话题。 这里展示的是,按照主题聚合项目,比如:ts、数据库、js。 我们可以点进去看一下,这里展示的就是跟 xxx 相关的、所有的热门宝藏仓库。 你对什么话题感兴趣,你就点哪个话题,进去逛就可以了。 那么在这里,我非常非常推荐大家逛一下这个awesome lists话题。 经常看美剧的朋友,应该都会听到英语中的’awesome’这个单词,‘you are awesome’。 它的意思是精彩、牛逼的意思。 而在github里,它就是把最精彩的开源项目,汇总出来给你看。 比方说,awesome-python、HelloGitHub、awesome-mac…… 另外,这里说一句题外话,如果这里推荐的话题,你都不感兴趣。 你可以按照之前讲的搜索方式,找到你自己感兴趣的话题关键词。 比方说,这里我搜索“hello”,然后,你就可以找到一系列跟 hello主题 相关的仓库。 1.3 trending Trending 就是热榜,展示的是 star 增长最快的开源项目。 可以按口头语言过滤,例如,英语、中文…… 可以按照编程语言过滤,例如,python,golang…… 可以选择时间范围,例如:当天热榜,本周热榜,本月热榜。 我们也可以查找当前最热门的开发者排行榜。 这里的 sponsorable 指的是是否提供赞助渠道的意思。 选择之后,你可以找到需要赞助的开发者。 如果你用了别人的开源项目,而且体验还不错的话,建议赞助些钱,支持一下别人的劳动成果,这样也能推动原作者进一步的维护自己的项目。 说到这里,大家不妨点个免费的赞,点个免费的关注,支持一下本频道。 1.4 collections Collections 是 GitHub 官方人工整理的专题合集,比如"适合学习的项目"、“音乐工具”、“游戏开发资源"之类的。 这里展示的是编辑精选的项目,不是推荐算法给出的项目,所以,质量更有保障。 比方说,游戏引擎合集,像素绘画工具合集…… 点进去之后,你能看到一系列精选项目。 比方说,像素绘画工具这里,你能看到大名鼎鼎的开源像素绘画工具 aseprite…… 又比方说,游戏引擎这里,你能看到近期爆火的游戏引擎工具 godot…… 1.5 events & GitHub Sponsors Events页面汇集了 GitHub 相关的线下/线上活动信息,主要是各种开发者大会。 ...

2026年4月18日 · 高勉