“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
React 等四大项目改用 MIT 许可:一场开源社区信任危机的复盘
因社区持续质疑,Meta 将 React、Jest、Flow、Immutable.js 转为 MIT 许可,承认此前专利条款损害生态信任。
背景:BSD+Patents 许可的争议与失控
2017 年 9 月,Meta 工程副总裁 Adam Wolff 发布了一篇简短的公告:下周起,React、Jest、Flow、Immutable.js 四个开源项目将正式改用 MIT 许可证。这距离 Meta(当时仍叫 Facebook)在 2015 年为这些项目引入 BSD+Patents 附加专利条款(即著名的 "FB Patent Grant")已过去两年。
那条附加条款的初衷是保护 Meta 免受开源技术使用者的专利诉讼——如果一家公司用 React 构建产品,却反过来对 Meta 或其关联方提起专利侵权诉讼,那么该公司的 React 使用授权将自动终止。这在法理上看似对等(你也可以理解为"你若起诉我,我就不许你用我的代码"),但在社区的实际感知中,它成了一颗随时可能引爆的法律地雷。
核心矛盾在于:大多数企业法务在评估开源许可证时,只熟悉 MIT/Apache/GPL 这类经过几十年司法检验的文本。BSD+Patents 是 Meta 自创的组合,没有先例判例可循,意味着一旦发生极端纠纷,双方都要承担高额的司法不确定性。哪怕 Meta 从未真正执行过这一条款,社区的恐慌也在蔓延,因为风险不在于条款是否会被行使,而在于它是否可能被行使。
社区的持续施压与替代方案的选择
公告中有一段非常诚实的话:"虽然我们仍然认为 BSD+Patents 能给用户带来一些好处,但我们承认未能果断地说服社区。"这背后是数十个知名项目和公司公开表态拒绝使用 React——最典型的是 Apache Software Foundation 直接将其列入禁止依赖的许可证名单,WordPress 的 Calypso 项目被迫内部替换,甚至连一些知名的 React 教程都加上了免责声明。
更致命的是,整个事件被集中引爆,不是因为某个技术缺陷,而是因为 npm 生态的复制习惯——当一个核心库许可证存疑,依赖它的数千个库全部受到连带质疑。许多开发团队在权衡后,开始大规模转向 Preact、Inferno 甚至 Angular/Vue。这一轮"用脚投票"让 Meta 意识到:即便法律上他们站得住脚,生态共识才是开源项目真正的护城河。
开源的深层逻辑:许可即信任契约
这篇公告的深刻之处,在于它揭示了一个常被技术人忽略的真理:一个开源项目的繁荣,并非只取决于代码质量或性能,而是取决于无数下游开发者对"未来不会被突然盯上"的安全感。 当 Meta 声称"我们不想因为非技术原因阻碍前进"时,其实是在承认技术优势无法覆盖法律信任赤字。
从博弈论角度看,BSD+Patents 的失败是一个信号传递问题:Meta 无法低成本地向社区证明"我不会害你",而社区也无法低成本地验证"它真的不会害我"。在这种双盲不信任下,理性选择永远是规避——哪怕规避的代价是使用一个功能弱一点的替代品。而 MIT 许可证之所以成为默认选择,正因为它的文本极其简单:允许任何人做任何事,只要保留版权声明。它不需要附加解释,不需要法务逐条审查,这种零解释成本就是最大的生态优势。
对其他 Meta 开源项目的影响与保留条款
公告同时明确:Meta 旗下其他热门开源项目(如 GraphQL、Relay、create-react-app 等)暂时仍保留 BSD+Patents 许可。但 Meta 表示"正在评估"这些项目的许可,只是"每个项目情况不同"。言下之意是:React 因为处于 Web 生态的核心位置、影响面最大,所以优先响应;而其他项目需要单独评估专利组合的交叉风险。
这种"逐个重新评估"的策略,被业内解读为一种分批次撤退——先从社区反弹最强烈的核心前端库开始,再根据反馈决定外围项目。事实上,之后的历史确实印证了这一点:2018 年 Meta 最终将所有开源项目都统一转为 MIT,包括 GraphQL 和 Relay。但当时的谨慎态度,也说明一个大企业内部对"放弃自有专利保护条款"的阻力有多大——这牵涉到法务部的风险模型和专利部门的核心利益。
React 16 的配合发布:用技术稳定军心
公告的第二大信息点:新许可将随 React 16 一起发布。React 16 是时隔一年多的重大重写版本,其内部架构完全重构,引入了 Fiber 调度机制,为后续的并发渲染(Concurrent Mode)和异步渲染铺平道路。将"许可变更"与"重大里程碑版本"同步推出,显然是有意为之——用技术上的重大进展,来转移社区对许可争议的注意力,同时给予忠诚用户一个升级的理由。
这也暗示了 Meta 对这场危机的最终态度:他们明白,单靠一封道歉信不可能赢回那些已经迁移到其他框架的团队。正如 Wolff 在公告中坦言的:"我们不指望通过这一改变赢回这些团队,但我们确实想留一扇门"。这是一种典型的长期主义——先恢复基本信任,再用技术迭代吸引开发者自然回流。坦白讲,这一策略奏效了:React 16 的发布取得了巨大成功,而两年后 React Hooks 的推出,更是把许多曾经的逃离者重新拉回了 React 阵营。
反思:开源许可证的本质是什么?
站在今天回看这一事件,其价值远超一个公司决定更换许可证的公关操作。它给整个开源产业上了深刻一课:
许可证是营销文档,不只是法律文档。没有人会通读每个依赖的许可文本,开发者只会根据常识信任某一种"品牌许可"。凡是自创条款,再有理也需要付出数十倍的社区教育成本。
"你能做什么"比"你想做什么"更重要。Meta 从未实际行使过专利条款,但仅仅是"可能"就够了。在开源世界里,未验证的权力就是负面的信用。
技术的竞争维度不只有性能,还有制度通约性。React 和 Vue 之争证明了,哪怕 Vue 的架构在某些场景下"不够激进",但只要其许可是干净的 MIT 或 BSD,团队就会倾向选择它。选择框架的时候,CTO 会问"如果这个项目三年后换东家,我们的法律风险会变吗?"
生态核心项目的许可动荡,会废掉整个技能生态。当 React 许可存疑时,不仅是前端项目受影响,整个围绕 React 的教程、组件库、招聘岗位、内部培训体系都遭到了质疑。这就是为什么 Meta 在公告中强调 React 是"Web 开源生态的基石"——他们清楚地知道,这已经不只是自己的事了。
尾声
公告发布后一周,React 16 如期发布,所有代码仓库头的许可证文件全部换成了 MIT。事件没有引发更大的连锁反应,Apollo 和 React Navigation 等项目也相继跟进切换了基础依赖。今天,React 是全球使用最广的 UI 库之一,MIT 许可早已成为它的默认形象,甚至很少有人记得那两周的"许可证风波"。
但这次事件留给技术管理者一份永不过时的备忘录:任何对现有许可证的"创新",都必须以十倍于代码合规审查的严格程度来审视。你写的每一行代码都会被复制,但你的许可证条文会被逐字阅读。技术可以重构,信任却不能。 当你在谈论开源战略时,你实际上是在谈论一种社会工程——代码能画出的最大边界,是人心中愿意承担的法律风险的边界。