{"id":312,"date":"2026-07-06T14:52:34","date_gmt":"2026-07-06T06:52:34","guid":{"rendered":"https:\/\/numsimlab.com\/?p=312"},"modified":"2026-07-06T14:52:34","modified_gmt":"2026-07-06T06:52:34","slug":"%e5%bc%80%e6%ba%90%e5%8d%8f%e8%ae%ae%e5%ae%8c%e5%85%a8%e6%8c%87%e5%8d%97","status":"publish","type":"post","link":"https:\/\/numsimlab.com\/?p=312","title":{"rendered":"\u5f00\u6e90\u534f\u8bae\u5b8c\u5168\u6307\u5357"},"content":{"rendered":"\n<!-- Generated by   -->\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>\u5f00\u6e90\u534f\u8bae\u5b8c\u5168\u6307\u5357 \u00b7 Open Source License Guide<\/title>\n<style>\n\/* ===== Reset & Base ===== *\/\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\nhtml { scroll-behavior: smooth; }\n\n:root {\n  --bg: #f8f9fa;\n  --bg2: #ffffff;\n  --ink: #1a1a2e;\n  --muted: #6c7086;\n  --rule: #e2e4eb;\n  --accent: #2b6cb0;\n  --accent2: #38a169;\n  --accent3: #e53e3e;\n  --accent4: #d69e2e;\n  --accent5: #805ad5;\n  --card-bg: #ffffff;\n  --code-bg: #f1f3f5;\n  --tag-green: #c6f6d5;\n  --tag-green-text: #22543d;\n  --tag-blue: #bee3f8;\n  --tag-blue-text: #2a4365;\n  --tag-red: #fed7d7;\n  --tag-red-text: #742a2a;\n  --tag-yellow: #fefcbf;\n  --tag-yellow-text: #744210;\n  --tag-purple: #e9d8fd;\n  --tag-purple-text: #44337a;\n  --shadow: 0 1px 3px rgba(0,0,0,0.08);\n  --radius: 8px;\n  --max-width: 960px;\n}\n\n[data-theme=\"dark\"] {\n  --bg: #0f0f1a;\n  --bg2: #1a1a2e;\n  --ink: #e2e4f0;\n  --muted: #8b8fa3;\n  --rule: #2a2a3e;\n  --accent: #63b3ed;\n  --accent2: #68d391;\n  --accent3: #fc8181;\n  --accent4: #f6e05e;\n  --accent5: #b794f4;\n  --card-bg: #1a1a2e;\n  --code-bg: #252540;\n  --tag-green: #22543d;\n  --tag-green-text: #c6f6d5;\n  --tag-blue: #2a4365;\n  --tag-blue-text: #bee3f8;\n  --tag-red: #742a2a;\n  --tag-red-text: #fed7d7;\n  --tag-yellow: #744210;\n  --tag-yellow-text: #fefcbf;\n  --tag-purple: #44337a;\n  --tag-purple-text: #e9d8fd;\n  --shadow: 0 1px 3px rgba(0,0,0,0.3);\n}\n\nbody {\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Noto Sans SC\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif;\n  background: var(--bg);\n  color: var(--ink);\n  line-height: 1.7;\n  font-size: 15px;\n  transition: background .3s, color .3s;\n}\n\n\/* ===== Header ===== *\/\nheader {\n  position: fixed; top: 0; left: 0; right: 0; z-index: 100;\n  background: var(--bg2); border-bottom: 1px solid var(--rule);\n  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);\n  transition: background .3s;\n}\n.header-inner {\n  max-width: var(--max-width); margin: 0 auto;\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 0 1.5rem; height: 56px;\n}\n.logo { font-weight: 700; font-size: 1rem; color: var(--accent); }\n.controls { display: flex; align-items: center; gap: .5rem; }\n.lang-switch { display: flex; border: 1px solid var(--rule); border-radius: 6px; overflow: hidden; }\n.lang-switch button {\n  background: transparent; border: none; color: var(--muted);\n  padding: .3rem .7rem; font-size: .8rem; cursor: pointer;\n  transition: all .2s; font-family: inherit;\n}\n.lang-switch button.active { background: var(--accent); color: #fff; }\n.lang-switch button:not(.active):hover { color: var(--ink); background: var(--rule); }\n.theme-toggle {\n  background: transparent; border: 1px solid var(--rule); border-radius: 6px;\n  color: var(--muted); width: 34px; height: 34px; font-size: 1rem;\n  cursor: pointer; display: flex; align-items: center; justify-content: center;\n  transition: all .2s;\n}\n.theme-toggle:hover { color: var(--ink); background: var(--rule); }\n\n\/* ===== Layout ===== *\/\nmain { max-width: var(--max-width); margin: 0 auto; padding: 80px 1.5rem 3rem; }\n\n\/* ===== Language Sections ===== *\/\n.lang-section { display: none; }\n.lang-section.active { display: block; }\n\n\/* ===== Typography ===== *\/\nh1 {\n  font-size: 2rem; font-weight: 800; line-height: 1.3;\n  margin-bottom: .5rem; letter-spacing: -.02em;\n}\nh1 .sub { display: block; font-size: .9rem; font-weight: 400; color: var(--muted); margin-top: .25rem; letter-spacing: 0; }\nh2 {\n  font-size: 1.4rem; font-weight: 700; margin: 2.5rem 0 1rem;\n  padding-bottom: .5rem; border-bottom: 2px solid var(--accent);\n  letter-spacing: -.01em;\n}\nh3 {\n  font-size: 1.1rem; font-weight: 600; margin: 1.5rem 0 .75rem;\n  color: var(--accent);\n}\np { margin-bottom: .8rem; }\na { color: var(--accent); text-decoration: none; }\na:hover { text-decoration: underline; }\n\n\/* ===== Hero ===== *\/\n.hero {\n  text-align: center; padding: 2.5rem 0 1.5rem;\n}\n.hero p { font-size: 1.05rem; color: var(--muted); max-width: 680px; margin: 0 auto; }\n\n\/* ===== Cards ===== *\/\n.card {\n  background: var(--card-bg); border: 1px solid var(--rule); border-radius: var(--radius);\n  padding: 1.25rem; margin-bottom: 1rem; box-shadow: var(--shadow);\n  transition: box-shadow .2s;\n}\n.card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.12); }\n\n\/* ===== Tags ===== *\/\n.tag { display: inline-block; padding: .15rem .55rem; border-radius: 4px; font-size: .75rem; font-weight: 600; margin-right: .3rem; }\n.tag-green { background: var(--tag-green); color: var(--tag-green-text); }\n.tag-blue { background: var(--tag-blue); color: var(--tag-blue-text); }\n.tag-red { background: var(--tag-red); color: var(--tag-red-text); }\n.tag-yellow { background: var(--tag-yellow); color: var(--tag-yellow-text); }\n.tag-purple { background: var(--tag-purple); color: var(--tag-purple-text); }\n\n\/* ===== License Cards ===== *\/\n.license-card {\n  background: var(--card-bg); border: 1px solid var(--rule); border-radius: var(--radius);\n  padding: 1.5rem; margin-bottom: 1.5rem; box-shadow: var(--shadow);\n}\n.license-card h3 { margin-top: 0; }\n.license-card .meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .8rem; }\n.license-card .desc { color: var(--muted); font-size: .9rem; margin-bottom: 1rem; }\n.license-card .feature-list { list-style: none; padding: 0; }\n.license-card .feature-list li {\n  position: relative; padding-left: 1.3rem; margin-bottom: .35rem;\n  font-size: .9rem;\n}\n.license-card .feature-list li::before {\n  content: \"\u2713\"; position: absolute; left: 0; color: var(--accent2); font-weight: 700;\n}\n.license-card .feature-list li.no::before { content: \"\u2717\"; color: var(--accent3); }\n.license-card .example { margin-top: .8rem; font-size: .85rem; color: var(--muted); }\n.license-card .example strong { color: var(--ink); }\n\n\/* ===== Comparison Table ===== *\/\n.table-wrap {\n  overflow-x: auto; margin: 1.5rem 0;\n}\ntable {\n  width: 100%; border-collapse: collapse; font-size: .85rem;\n}\nthead th {\n  background: var(--accent); color: #fff; padding: .7rem .6rem;\n  text-align: center; font-weight: 600; white-space: nowrap;\n}\nthead th:first-child { border-radius: 6px 0 0 0; }\nthead th:last-child { border-radius: 0 6px 0 0; }\ntbody td {\n  padding: .6rem; border-bottom: 1px solid var(--rule);\n  text-align: center; vertical-align: middle;\n}\ntbody tr:nth-child(even) { background: var(--bg); }\ntbody td:first-child { text-align: left; font-weight: 600; }\n.icon-yes { color: var(--accent2); font-weight: 700; }\n.icon-no { color: var(--accent3); }\n.icon-partial { color: var(--accent4); }\n\n\/* ===== Decision Flow ===== *\/\n.flow-chart {\n  background: var(--card-bg); border: 1px solid var(--rule); border-radius: var(--radius);\n  padding: 1.5rem; margin: 1.5rem 0;\n}\n.flow-row {\n  display: flex; align-items: center; justify-content: center;\n  flex-wrap: wrap; gap: .4rem; margin: .5rem 0;\n}\n.flow-item {\n  display: inline-block; padding: .5rem .9rem; border-radius: 6px;\n  font-weight: 600; font-size: .85rem; text-align: center;\n  background: var(--accent); color: #fff; min-width: 80px;\n}\n.flow-item.green { background: var(--accent2); }\n.flow-item.red { background: var(--accent3); }\n.flow-item.yellow { background: var(--accent4); color: #1a1a2e; }\n.flow-item.purple { background: var(--accent5); }\n.flow-item.gray { background: var(--rule); color: var(--muted); }\n.flow-arrow { color: var(--muted); font-size: 1.2rem; }\n.flow-label { text-align: center; font-size: .78rem; color: var(--muted); margin-top: .2rem; }\n\n\/* ===== Examples Grid ===== *\/\n.examples-grid {\n  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n  gap: .75rem; margin: 1rem 0;\n}\n.examples-grid .item {\n  background: var(--card-bg); border: 1px solid var(--rule); border-radius: var(--radius);\n  padding: .75rem 1rem; display: flex; align-items: center; gap: .6rem;\n  box-shadow: var(--shadow);\n}\n.examples-grid .item .name { font-weight: 600; font-size: .85rem; }\n.examples-grid .item .tag { flex-shrink: 0; }\n\n\/* ===== TOC ===== *\/\n.toc {\n  background: var(--card-bg); border: 1px solid var(--rule); border-radius: var(--radius);\n  padding: 1.25rem 1.5rem; margin-bottom: 2rem; box-shadow: var(--shadow);\n}\n.toc h3 { margin: 0 0 .6rem; font-size: .95rem; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }\n.toc ol { padding-left: 1.2rem; columns: 2; column-gap: 2rem; }\n.toc li { margin-bottom: .3rem; font-size: .9rem; }\n.toc a { color: var(--ink); }\n.toc a:hover { color: var(--accent); text-decoration: none; }\n\n\/* ===== Info Box ===== *\/\n.info-box {\n  background: var(--bg); border-left: 4px solid var(--accent);\n  padding: 1rem 1.25rem; margin: 1rem 0; border-radius: 0 var(--radius) var(--radius) 0;\n  font-size: .9rem;\n}\n.info-box strong { color: var(--accent); }\n\n\/* ===== FAQ ===== *\/\n.faq-item {\n  border-bottom: 1px solid var(--rule); padding: 1rem 0;\n}\n.faq-item:last-child { border-bottom: none; }\n.faq-q {\n  font-weight: 600; font-size: .95rem; margin-bottom: .4rem;\n  cursor: default;\n}\n.faq-a { font-size: .9rem; color: var(--muted); }\n\n\/* ===== Footer ===== *\/\nfooter {\n  max-width: var(--max-width); margin: 3rem auto 0;\n  padding: 2rem 1.5rem 3rem; border-top: 1px solid var(--rule);\n  text-align: center; font-size: .82rem; color: var(--muted);\n}\nfooter .links { display: flex; justify-content: center; gap: 1.5rem; flex-wrap: wrap; margin-bottom: .8rem; }\nfooter .links a { color: var(--muted); }\nfooter .links a:hover { color: var(--accent); }\n\n\/* ===== Responsive ===== *\/\n@media (max-width: 640px) {\n  h1 { font-size: 1.5rem; }\n  .toc ol { columns: 1; }\n  .header-inner { padding: 0 1rem; }\n  main { padding: 72px 1rem 2rem; }\n  .examples-grid { grid-template-columns: 1fr; }\n}\n<\/style>\n<\/head>\n<body>\n\n<header>\n  <div class=\"header-inner\">\n    <div class=\"logo\">\ud83d\udcdc Open Source License Guide<\/div>\n    <div class=\"controls\">\n      <div class=\"lang-switch\">\n        <button class=\"active\" onclick=\"setLang('zh')\" id=\"btn-zh\">\u4e2d\u6587<\/button>\n        <button onclick=\"setLang('en')\" id=\"btn-en\">English<\/button>\n      <\/div>\n      <button class=\"theme-toggle\" onclick=\"toggleTheme()\" title=\"Toggle theme\">&#9788;<\/button>\n    <\/div>\n  <\/div>\n<\/header>\n\n<main>\n\n<!-- ==================== ZH ==================== -->\n<div class=\"lang-section active\" id=\"lang-zh\">\n<div class=\"hero\">\n  <h1>\u5f00\u6e90\u534f\u8bae\u5b8c\u5168\u6307\u5357<\/h1>\n  <p>\u4ec0\u4e48\u662f\u5f00\u6e90\u534f\u8bae\u3001\u4e3a\u4ec0\u4e48\u9700\u8981\u5b83\u3001\u5e38\u7528\u534f\u8bae\u8be6\u89e3\u4e0e\u9009\u578b\u6307\u5357<\/p>\n<\/div>\n\n<div class=\"toc\">\n  <h3>\u76ee\u5f55<\/h3>\n  <ol>\n    <li><a href=\"#zh-what\">\u4ec0\u4e48\u662f\u5f00\u6e90\u534f\u8bae<\/a><\/li>\n    <li><a href=\"#zh-why\">\u4e3a\u4ec0\u4e48\u9700\u8981\u5f00\u6e90\u534f\u8bae<\/a><\/li>\n    <li><a href=\"#zh-categories\">\u4e24\u5927\u9635\u8425\uff1a\u5bbd\u677e\u4e0e\u8457\u4f50\u6743<\/a><\/li>\n    <li><a href=\"#zh-licenses\">\u5e38\u7528\u5f00\u6e90\u534f\u8bae\u8be6\u89e3<\/a><\/li>\n    <li><a href=\"#zh-compare\">\u534f\u8bae\u5bf9\u6bd4\u603b\u8868<\/a><\/li>\n    <li><a href=\"#zh-choose\">\u5982\u4f55\u9009\u62e9\u5f00\u6e90\u534f\u8bae<\/a><\/li>\n    <li><a href=\"#zh-examples\">\u77e5\u540d\u9879\u76ee\u4f7f\u7528\u4e3e\u4f8b<\/a><\/li>\n    <li><a href=\"#zh-faq\">\u5e38\u89c1\u95ee\u9898<\/a><\/li>\n  <\/ol>\n<\/div>\n\n<!-- Section 1 -->\n<h2 id=\"zh-what\">\u4e00\u3001\u4ec0\u4e48\u662f\u5f00\u6e90\u534f\u8bae<\/h2>\n<p>\u5f00\u6e90\u534f\u8bae\uff08Open Source License\uff09\uff0c\u53c8\u79f0\u5f00\u6e90\u8bb8\u53ef\u8bc1\uff0c\u662f\u4e00\u79cd<strong>\u5177\u6709\u6cd5\u5f8b\u6548\u529b\u7684\u6388\u6743\u58f0\u660e<\/strong>\u3002\u8f6f\u4ef6\u4f5c\u8005\u901a\u8fc7\u5f00\u6e90\u534f\u8bae\uff0c\u660e\u786e\u6388\u4e88\u4ed6\u4eba\u4f7f\u7528\u3001\u590d\u5236\u3001\u4fee\u6539\u548c\u5206\u53d1\u8f6f\u4ef6\u7684\u8bb8\u53ef\uff0c\u540c\u65f6\u4fdd\u7559\u90e8\u5206\u6743\u5229\u6216\u9644\u52a0\u7279\u5b9a\u6761\u4ef6\u3002<\/p>\n<p>\u6ca1\u6709\u5f00\u6e90\u534f\u8bae\u7684\u5f00\u6e90\u4ee3\u7801\uff0c\u5728\u6cd5\u5f8b\u4e0a\u9ed8\u8ba4\u9002\u7528<strong>\u8457\u4f5c\u6743\u6cd5\uff08Copyright\uff09<\/strong>\u2014\u2014\u8fd9\u610f\u5473\u7740\u4ed6\u4eba\u65e0\u6743\u4f7f\u7528\u3001\u4fee\u6539\u6216\u5206\u53d1\u8be5\u4ee3\u7801\uff0c\u5373\u4f7f\u4ee3\u7801\u662f\u516c\u5f00\u53ef\u89c1\u7684\u3002\u56e0\u6b64\uff0c\u5f00\u6e90\u534f\u8bae\u662f\u5f00\u6e90\u9879\u76ee<strong>\u5408\u6cd5\u8fd0\u4f5c\u7684\u57fa\u77f3<\/strong>\u3002<\/p>\n<div class=\"info-box\">\n  <strong>\u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a<\/strong>\u5f00\u6e90\u534f\u8bae = \u4f5c\u8005\u5141\u8bb8\u4ed6\u4eba\u4f7f\u7528\u4ee3\u7801\u7684&#8221;\u4f7f\u7528\u8bf4\u660e\u4e66&#8221;\uff0c\u89c4\u5b9a\u4e86&#8221;\u80fd\u505a\u4ec0\u4e48&#8221;\u548c&#8221;\u5fc5\u987b\u505a\u4ec0\u4e48&#8221;\u3002\n<\/div>\n\n<!-- Section 2 -->\n<h2 id=\"zh-why\">\u4e8c\u3001\u4e3a\u4ec0\u4e48\u9700\u8981\u5f00\u6e90\u534f\u8bae<\/h2>\n<div class=\"card\">\n  <p><strong>\u4fdd\u62a4\u4f5c\u8005\u4e0e\u4f7f\u7528\u8005\u53cc\u65b9<\/strong>\u2014\u2014\u534f\u8bae\u660e\u786e\u4e86\u7248\u6743\u5f52\u5c5e\uff0c\u540c\u65f6\u4e5f\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u6cd5\u5f8b\u4fdd\u969c\uff0c\u907f\u514d\u56e0\u4f7f\u7528\u5f00\u6e90\u4ee3\u7801\u800c\u4fb5\u6743\u3002<\/p>\n<\/div>\n<div class=\"card\">\n  <p><strong>\u660e\u786e\u4f7f\u7528\u8fb9\u754c<\/strong>\u2014\u2014\u54ea\u4e9b\u573a\u666f\u5141\u8bb8\u5546\u4e1a\u4f7f\u7528\uff1f\u4fee\u6539\u540e\u7684\u4ee3\u7801\u662f\u5426\u5fc5\u987b\u5f00\u6e90\uff1f\u8fd9\u4e9b\u5173\u952e\u95ee\u9898\u90fd\u9700\u8981\u534f\u8bae\u6765\u754c\u5b9a\u3002<\/p>\n<\/div>\n<div class=\"card\">\n  <p><strong>\u4fc3\u8fdb\u793e\u533a\u534f\u4f5c<\/strong>\u2014\u2014\u7edf\u4e00\u7684\u5f00\u6e90\u534f\u8bae\u964d\u4f4e\u4e86\u534f\u4f5c\u7684\u6cd5\u5f8b\u95e8\u69db\uff0c\u8ba9\u5168\u7403\u5f00\u53d1\u8005\u53ef\u4ee5\u5728\u540c\u4e00\u89c4\u5219\u4e0b\u5171\u540c\u8d21\u732e\u4ee3\u7801\u3002<\/p>\n<\/div>\n<div class=\"card\">\n  <p><strong>\u9632\u6b62\u6cd5\u5f8b\u7ea0\u7eb7<\/strong>\u2014\u2014\u6e05\u6670\u7684\u8bb8\u53ef\u6761\u6b3e\u51cf\u5c11\u4e86\u56e0\u4ee3\u7801\u4f7f\u7528\u5f15\u53d1\u7684\u4e89\u8bae\uff0c\u5f00\u6e90\u793e\u533a\u5f97\u4ee5\u5065\u5eb7\u53d1\u5c55\u3002<\/p>\n<\/div>\n\n<!-- Section 3 -->\n<h2 id=\"zh-categories\">\u4e09\u3001\u4e24\u5927\u9635\u8425\uff1a\u5bbd\u677e vs \u8457\u4f50\u6743<\/h2>\n<p>\u5f00\u6e90\u534f\u8bae\u6839\u636e\u5176<strong>\u4f20\u67d3\u6027\uff08Copyleft\uff09<\/strong>\u7684\u5f3a\u5f31\uff0c\u5927\u81f4\u53ef\u5206\u4e3a\u4e24\u7c7b\uff1a<\/p>\n\n<div class=\"card\">\n  <h3><span class=\"tag tag-green\">\u5bbd\u677e<\/span> Permissive License<\/h3>\n  <p>\u5141\u8bb8\u4f7f\u7528\u8005\u81ea\u7531\u4f7f\u7528\u3001\u4fee\u6539\u548c\u518d\u53d1\u5e03\u4ee3\u7801\uff0c\u751a\u81f3\u53ef\u4ee5\u5c06\u4fee\u6539\u540e\u7684\u4ee3\u7801\u4ee5<strong>\u95ed\u6e90\u3001\u5546\u4e1a\u8f6f\u4ef6<\/strong>\u7684\u5f62\u5f0f\u53d1\u5e03\uff0c\u53ea\u9700\u4fdd\u7559\u539f\u59cb\u7248\u6743\u58f0\u660e\u3002<\/p>\n  <p style=\"margin-top:.5rem;\"><strong>\u4ee3\u8868\u534f\u8bae\uff1a<\/strong><span class=\"tag tag-blue\">MIT<\/span> <span class=\"tag tag-blue\">Apache 2.0<\/span> <span class=\"tag tag-blue\">BSD<\/span><\/p>\n<\/div>\n\n<div class=\"card\">\n  <h3><span class=\"tag tag-red\">\u8457\u4f50\u6743<\/span> Copyleft License<\/h3>\n  <p>\u8981\u6c42\u4fee\u6539\u6216\u884d\u751f\u4f5c\u54c1\u5fc5\u987b\u4f7f\u7528<strong>\u540c\u4e00\u79cd\u534f\u8bae<\/strong>\u8fdb\u884c\u53d1\u5e03\uff0c\u5373\u4fee\u6539\u540e\u7684\u4ee3\u7801\u4e5f\u5fc5\u987b\u5f00\u6e90\uff08&#8221;\u4f20\u67d3\u6027&#8221;\uff09\u3002\u8457\u4f50\u6743\u8d8a\u5f3a\uff0c\u9650\u5236\u8d8a\u4e25\u683c\u3002<\/p>\n  <p style=\"margin-top:.5rem;\"><strong>\u4ee3\u8868\u534f\u8bae\uff1a<\/strong><span class=\"tag tag-red\">GPL<\/span> <span class=\"tag tag-yellow\">LGPL<\/span> <span class=\"tag tag-purple\">MPL<\/span><\/p>\n<\/div>\n\n<!-- Section 4 -->\n<h2 id=\"zh-licenses\">\u56db\u3001\u5e38\u7528\u5f00\u6e90\u534f\u8bae\u8be6\u89e3<\/h2>\n\n<!-- MIT -->\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-green\">\u5bbd\u677e<\/span>\n    <span class=\"tag tag-blue\">MIT<\/span>\n  <\/div>\n  <h3>MIT License<\/h3>\n  <div class=\"desc\">MIT \u534f\u8bae\u662f<strong>\u6700\u5bbd\u677e\u3001\u6700\u7b80\u6d01<\/strong>\u7684\u5f00\u6e90\u534f\u8bae\u4e4b\u4e00\uff0c\u6e90\u81ea\u9ebb\u7701\u7406\u5de5\u5b66\u9662\uff08MIT\uff09\u3002\u4f7f\u7528\u8005\u51e0\u4e4e\u53ef\u4ee5&#8221;\u4e3a\u6240\u6b32\u4e3a&#8221;\u2014\u2014\u4efb\u610f\u4f7f\u7528\u3001\u4fee\u6539\u3001\u590d\u5236\u3001\u5206\u53d1\u3001\u5546\u7528\uff0c\u53ea\u9700\u4fdd\u7559\u539f\u59cb\u7248\u6743\u58f0\u660e\u3002<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 \u5141\u8bb8\u5546\u4e1a\u4f7f\u7528<\/li>\n    <li>\u2705 \u5141\u8bb8\u95ed\u6e90\u518d\u53d1\u5e03<\/li>\n    <li>\u2705 \u5141\u8bb8\u4fee\u6539\u548c\u5206\u53d1<\/li>\n    <li class=\"no\">\u2717 \u4e0d\u63d0\u4f9b\u4e13\u5229\u6388\u6743\uff08\u672a\u63d0\u53ca\u4e13\u5229\u95ee\u9898\uff09<\/li>\n    <li>\u2705 \u9700\u4fdd\u7559\u539f\u59cb\u7248\u6743\u58f0\u660e<\/li>\n    <li class=\"no\">\u2717 \u65e0\u62c5\u4fdd\u6761\u6b3e<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>\u5178\u578b\u9879\u76ee\uff1a<\/strong>React\u3001Vue.js\u3001Node.js\u3001jQuery\u3001Bootstrap<\/div>\n<\/div>\n\n<!-- Apache 2.0 -->\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-green\">\u5bbd\u677e<\/span>\n    <span class=\"tag tag-blue\">Apache 2.0<\/span>\n  <\/div>\n  <h3>Apache License 2.0<\/h3>\n  <div class=\"desc\">Apache 2.0 \u662f\u5bbd\u677e\u534f\u8bae\u4e2d<strong>\u6700\u5b8c\u5584\u3001\u6700\u8be6\u7ec6<\/strong>\u7684\u7248\u672c\uff0c\u7531 Apache \u8f6f\u4ef6\u57fa\u91d1\u4f1a\u5236\u5b9a\u3002\u9664\u4e86 MIT \u7684\u57fa\u672c\u6743\u5229\u5916\uff0c\u8fd8\u7279\u522b\u52a0\u5165\u4e86<strong>\u660e\u786e\u7684\u4e13\u5229\u6388\u6743\u6761\u6b3e<\/strong>\uff0c\u4fdd\u62a4\u8d21\u732e\u8005\u548c\u4f7f\u7528\u8005\u514d\u53d7\u4e13\u5229\u8bc9\u8bbc\u3002\u4f01\u4e1a\u7ea7\u9879\u76ee\u9996\u9009\u3002<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 \u5141\u8bb8\u5546\u4e1a\u4f7f\u7528<\/li>\n    <li>\u2705 \u5141\u8bb8\u95ed\u6e90\u518d\u53d1\u5e03<\/li>\n    <li>\u2705 \u5141\u8bb8\u4fee\u6539\u548c\u5206\u53d1<\/li>\n    <li>\u2705 \u660e\u786e\u4e13\u5229\u6388\u6743\uff08\u8d21\u732e\u8005\u6388\u4e88\u4f7f\u7528\u8005\u4e13\u5229\u8bb8\u53ef\uff09<\/li>\n    <li>\u2705 \u9700\u4fdd\u7559\u539f\u59cb\u7248\u6743\u58f0\u660e<\/li>\n    <li>\u2705 \u9700\u6ce8\u660e\u4fee\u6539\u5185\u5bb9\uff08NOTICE \u6587\u4ef6\uff09<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>\u5178\u578b\u9879\u76ee\uff1a<\/strong>Android\u3001Kubernetes\u3001Spring Framework\u3001TensorFlow\u3001Apache HTTP Server<\/div>\n<\/div>\n\n<!-- BSD -->\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-green\">\u5bbd\u677e<\/span>\n    <span class=\"tag tag-blue\">BSD<\/span>\n  <\/div>\n  <h3>BSD License<\/h3>\n  <div class=\"desc\">BSD \u534f\u8bae\uff08Berkeley Software Distribution License\uff09\u5386\u53f2\u60a0\u4e45\uff0c\u4e3b\u8981\u6709\u4e24\u4e2a\u7248\u672c\uff1a<strong>BSD 2-Clause<\/strong>\uff08\u7b80\u5316\u7248\uff09\u548c <strong>BSD 3-Clause<\/strong>\uff08\u6807\u51c6\u7248\uff09\u30023-Clause \u6bd4 MIT \u591a\u4e86\u4e00\u4e2a&#8221;\u7981\u6b62\u80cc\u4e66\u6761\u6b3e&#8221;\u2014\u2014\u4e0d\u5f97\u4f7f\u7528\u539f\u4f5c\u8005\u59d3\u540d\u8fdb\u884c\u63a8\u5e7f\u3002<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 \u5141\u8bb8\u5546\u4e1a\u4f7f\u7528<\/li>\n    <li>\u2705 \u5141\u8bb8\u95ed\u6e90\u518d\u53d1\u5e03<\/li>\n    <li>\u2705 \u5141\u8bb8\u4fee\u6539\u548c\u5206\u53d1<\/li>\n    <li class=\"no\">\u2717 \u4e0d\u63d0\u4f9b\u4e13\u5229\u6388\u6743<\/li>\n    <li>\u2705 \u9700\u4fdd\u7559\u539f\u59cb\u7248\u6743\u58f0\u660e<\/li>\n    <li>\u2705\uff083-Clause\uff09\u7981\u6b62\u7528\u539f\u4f5c\u8005\u540d\u4e49\u63a8\u5e7f<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>\u5178\u578b\u9879\u76ee\uff1a<\/strong>Go\uff08BSD 3-Clause\uff09\u3001Nginx\uff08BSD 2-Clause\uff09\u3001Redis\uff08BSD 3-Clause\uff09\u3001Swift\uff08Apache 2.0 \u4f46\u65e9\u671f\u4f7f\u7528 BSD\uff09<\/div>\n<\/div>\n\n<!-- GPL -->\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-red\">\u5f3a\u8457\u4f50\u6743<\/span>\n    <span class=\"tag tag-red\">GPL<\/span>\n  <\/div>\n  <h3>GNU General Public License (GPL)<\/h3>\n  <div class=\"desc\">GPL \u662f<strong>\u6700\u8457\u540d\u7684\u8457\u4f50\u6743\u534f\u8bae<\/strong>\uff0c\u7531\u81ea\u7531\u8f6f\u4ef6\u57fa\u91d1\u4f1a\uff08FSF\uff09\u53d1\u5e03\u3002\u6838\u5fc3\u8981\u6c42\uff1a\u5982\u679c\u53d1\u5e03\uff08\u5206\u53d1\uff09\u4e86\u57fa\u4e8e GPL \u4ee3\u7801\u7684\u4fee\u6539\u7248\u6216\u884d\u751f\u4f5c\u54c1\uff0c<strong>\u5fc5\u987b\u4f7f\u7528 GPL \u534f\u8bae\u5f00\u6e90<\/strong>\u3002\u5f53\u524d\u4e3b\u6d41\u7248\u672c\u662f GPLv3\u3002<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 \u5141\u8bb8\u5546\u4e1a\u4f7f\u7528<\/li>\n    <li class=\"no\">\u2717 \u4e0d\u5141\u8bb8\u95ed\u6e90\u518d\u53d1\u5e03\uff08\u884d\u751f\u4f5c\u54c1\u5fc5\u987b\u5f00\u6e90\uff09<\/li>\n    <li>\u2705 \u5141\u8bb8\u4fee\u6539\u548c\u5206\u53d1<\/li>\n    <li>\u2705 \u63d0\u4f9b\u4e13\u5229\u6388\u6743<\/li>\n    <li>\u2705 \u9700\u4fdd\u7559\u539f\u59cb\u7248\u6743\u58f0\u660e<\/li>\n    <li>\u2705 \u4fee\u6539\u540e\u7684\u4ee3\u7801\u5fc5\u987b\u4f7f\u7528 GPL<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>\u5178\u578b\u9879\u76ee\uff1a<\/strong>Linux Kernel\uff08GPLv2\uff09\u3001Git\uff08GPLv2\uff09\u3001WordPress\uff08GPLv2\uff09\u3001GCC\uff08GPLv3\uff09<\/div>\n<\/div>\n\n<!-- LGPL -->\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-yellow\">\u5f31\u8457\u4f50\u6743<\/span>\n    <span class=\"tag tag-yellow\">LGPL<\/span>\n  <\/div>\n  <h3>GNU Lesser General Public License (LGPL)<\/h3>\n  <div class=\"desc\">LGPL \u662f GPL \u7684<strong>&#8220;\u5f31\u5316\u7248&#8221;<\/strong>\uff0c\u4e3b\u8981\u9488\u5bf9\u8f6f\u4ef6\u5e93\uff08Library\uff09\u3002\u5982\u679c\u4fee\u6539\u4e86 LGPL \u4ee3\u7801\u672c\u8eab\uff0c\u5219\u5fc5\u987b\u5f00\u6e90\uff1b\u4f46<strong>\u901a\u8fc7\u52a8\u6001\u94fe\u63a5\u4f7f\u7528 LGPL \u5e93<\/strong>\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u53ef\u4ee5\u4fdd\u6301\u95ed\u6e90\u3002\u8fd9\u4f7f\u5f97 LGPL \u6210\u4e3a&#8221;\u5e93&#8221;\u7684\u7406\u60f3\u9009\u62e9\u3002<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 \u5141\u8bb8\u5546\u4e1a\u4f7f\u7528<\/li>\n    <li>\u2705 \u52a8\u6001\u94fe\u63a5\u53ef\u4ee5\u95ed\u6e90<\/li>\n    <li>\u2705 \u5141\u8bb8\u4fee\u6539\u548c\u5206\u53d1<\/li>\n    <li>\u2705 \u4fee\u6539\u5e93\u672c\u8eab\u5fc5\u987b\u5f00\u6e90<\/li>\n    <li>\u2705 \u9700\u4fdd\u7559\u539f\u59cb\u7248\u6743\u58f0\u660e<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>\u5178\u578b\u9879\u76ee\uff1a<\/strong>FFmpeg\u3001glibc\u3001GTK\u3001Qt\uff08\u65e9\u671f\u7248\u672c\u4f7f\u7528 LGPL\uff09<\/div>\n<\/div>\n\n<!-- MPL -->\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-purple\">\u5f31\u8457\u4f50\u6743<\/span>\n    <span class=\"tag tag-purple\">MPL 2.0<\/span>\n  <\/div>\n  <h3>Mozilla Public License (MPL 2.0)<\/h3>\n  <div class=\"desc\">MPL \u662f Mozilla \u57fa\u91d1\u4f1a\u5236\u5b9a\u7684\u534f\u8bae\uff0c\u91c7\u7528<strong>\u6587\u4ef6\u7ea7\u8457\u4f50\u6743<\/strong>\u2014\u2014\u4fee\u6539\u4e86\u67d0\u4e2a MPL \u6587\u4ef6\uff0c\u8be5\u6587\u4ef6\u5fc5\u987b\u5f00\u6e90\uff1b\u4f46\u53ef\u4ee5\u5c06 MPL \u4ee3\u7801\u4e0e\u5176\u4ed6\u6587\u4ef6\uff08\u4e13\u6709\u4ee3\u7801\uff09<strong>\u6df7\u5408\u7f16\u8bd1<\/strong>\uff0c\u5176\u4ed6\u6587\u4ef6\u4e0d\u53d7\u5f71\u54cd\u3002<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 \u5141\u8bb8\u5546\u4e1a\u4f7f\u7528<\/li>\n    <li>\u2705 \u6df7\u5408\u7f16\u8bd1\u53ef\u95ed\u6e90\uff08\u5176\u4ed6\u6587\u4ef6\u4e0d\u53d7\u5f71\u54cd\uff09<\/li>\n    <li>\u2705 \u5141\u8bb8\u4fee\u6539\u548c\u5206\u53d1<\/li>\n    <li>\u2705 \u4fee\u6539\u8fc7\u7684 MPL \u6587\u4ef6\u5fc5\u987b\u5f00\u6e90<\/li>\n    <li>\u2705 \u9700\u4fdd\u7559\u539f\u59cb\u7248\u6743\u58f0\u660e<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>\u5178\u578b\u9879\u76ee\uff1a<\/strong>Firefox\uff08\u6d4f\u89c8\u5668\uff09\u3001Thunderbird\u3001LibreOffice<\/div>\n<\/div>\n\n<!-- Unlicense -->\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-green\">\u516c\u5171\u9886\u57df<\/span>\n    <span class=\"tag tag-blue\">Unlicense<\/span>\n  <\/div>\n  <h3>Unlicense \/ Public Domain<\/h3>\n  <div class=\"desc\">Unlicense \u548c CC0 \u5c06\u4ee3\u7801<strong>\u5b8c\u5168\u653e\u5f03\u7248\u6743<\/strong>\uff0c\u91ca\u653e\u5230\u516c\u5171\u9886\u57df\u3002\u4f7f\u7528\u8005\u53ef\u4ee5\u4e0d\u53d7\u4efb\u4f55\u9650\u5236\u5730\u4f7f\u7528\u3001\u4fee\u6539\u548c\u5206\u53d1\uff0c\u751a\u81f3\u65e0\u9700\u4fdd\u7559\u7248\u6743\u58f0\u660e\u3002\u8fd9\u662f\u6700&#8221;\u81ea\u7531&#8221;\u7684\u9009\u62e9\u3002<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 \u5141\u8bb8\u5546\u4e1a\u4f7f\u7528<\/li>\n    <li>\u2705 \u5141\u8bb8\u95ed\u6e90\u518d\u53d1\u5e03<\/li>\n    <li>\u2705 \u5141\u8bb8\u4fee\u6539\u548c\u5206\u53d1<\/li>\n    <li>\u2705 \u65e0\u9700\u4fdd\u7559\u7248\u6743\u58f0\u660e<\/li>\n    <li>\u2705 \u4e0d\u9644\u5e26\u4efb\u4f55\u62c5\u4fdd<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>\u5178\u578b\u9879\u76ee\uff1a<\/strong>SQLite\uff08\u516c\u5171\u9886\u57df\uff09\u3001\u8bb8\u591a\u5c0f\u578b\u5de5\u5177\u5e93<\/div>\n<\/div>\n\n<!-- Section 5 -->\n<h2 id=\"zh-compare\">\u4e94\u3001\u534f\u8bae\u5bf9\u6bd4\u603b\u8868<\/h2>\n<div class=\"table-wrap\">\n<table>\n  <thead>\n    <tr>\n      <th>\u7279\u6027<\/th>\n      <th>MIT<\/th>\n      <th>Apache 2.0<\/th>\n      <th>BSD 3-Clause<\/th>\n      <th>GPLv3<\/th>\n      <th>LGPLv3<\/th>\n      <th>MPL 2.0<\/th>\n      <th>Unlicense<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>\u5546\u4e1a\u4f7f\u7528<\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>\u95ed\u6e90\u518d\u53d1\u5e03<\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-partial\">\u25b3<\/span><\/td>\n      <td><span class=\"icon-partial\">\u25b3<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>\u4e13\u5229\u6388\u6743<\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>\u4fdd\u7559\u7248\u6743\u58f0\u660e<\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-no\">\u2014<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>\u4fee\u6539\u987b\u5f00\u6e90<\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-partial\">\u25b3<\/span><\/td>\n      <td><span class=\"icon-partial\">\u25b3<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>\u4f20\u67d3\u6027\u8303\u56f4<\/td>\n      <td>\u65e0<\/td>\n      <td>\u65e0<\/td>\n      <td>\u65e0<\/td>\n      <td>\u5168\u9879\u76ee<\/td>\n      <td>\u5e93\u672c\u8eab<\/td>\n      <td>\u6587\u4ef6\u7ea7<\/td>\n      <td>\u65e0<\/td>\n    <\/tr>\n    <tr>\n      <td>\u9002\u7528\u573a\u666f<\/td>\n      <td>\u4e2a\u4eba\/\u5c0f\u578b\u9879\u76ee<\/td>\n      <td>\u4f01\u4e1a\/\u5927\u578b\u9879\u76ee<\/td>\n      <td>\u5b66\u672f\/\u5408\u89c4\u654f\u611f<\/td>\n      <td>\u4fdd\u62a4\u81ea\u7531\u8f6f\u4ef6<\/td>\n      <td>\u5f00\u6e90\u5e93<\/td>\n      <td>\u6df7\u5408\u9879\u76ee<\/td>\n      <td>\u5b8c\u5168\u653e\u5f03\u7248\u6743<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n<\/div>\n<div class=\"info-box\">\n  <strong>\u8bf4\u660e\uff1a<\/strong>\u25b3 \u8868\u793a\u6709\u6761\u4ef6\u5141\u8bb8\u3002LGPL \u52a8\u6001\u94fe\u63a5\u53ef\u95ed\u6e90\u4f46\u4fee\u6539\u5e93\u672c\u8eab\u987b\u5f00\u6e90\uff1bMPL \u4fee\u6539\u6587\u4ef6\u987b\u5f00\u6e90\u4f46\u6df7\u5408\u7f16\u8bd1\u53ef\u95ed\u6e90\u3002\n<\/div>\n\n<!-- Section 6 -->\n<h2 id=\"zh-choose\">\u516d\u3001\u5982\u4f55\u9009\u62e9\u5f00\u6e90\u534f\u8bae<\/h2>\n<p>\u9009\u62e9\u534f\u8bae\u65f6\uff0c\u5efa\u8bae\u4ece\u4ee5\u4e0b\u51e0\u4e2a\u95ee\u9898\u51fa\u53d1\uff1a<\/p>\n\n<div class=\"flow-chart\">\n  <div class=\"flow-row\">\n    <span class=\"flow-item\">\u662f\u5426\u5e0c\u671b<br>\u4ee3\u7801\u6c38\u8fdc\u5f00\u6e90\uff1f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u5426<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item green\">\u662f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item red\">GPL<\/span>\n  <\/div>\n  <div class=\"flow-label\">\u9009\u62e9 GPL \u786e\u4fdd\u6240\u6709\u884d\u751f\u4f5c\u54c1\u4fdd\u6301\u5f00\u6e90<\/div>\n<\/div>\n\n<div class=\"flow-chart\">\n  <div class=\"flow-row\">\n    <span class=\"flow-item\">\u662f\u5426\u5141\u8bb8\u95ed\u6e90<br>\u5546\u4e1a\u4f7f\u7528\uff1f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item green\">\u662f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\">\u9700\u8981\u4e13\u5229\u4fdd\u62a4\uff1f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u5426<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u9700\u8981\u4e13\u5229\u4fdd\u62a4\uff1f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item gray\">GPL \u7b49<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item green\">\u662f \u2192 \u9700\u8981\u4e13\u5229<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item purple\">Apache 2.0<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item green\">\u662f \u2192 \u4e0d\u9700\u8981\u4e13\u5229<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item yellow\">MIT \/ BSD<\/span>\n  <\/div>\n<\/div>\n\n<div class=\"flow-chart\">\n  <div class=\"flow-row\">\n    <span class=\"flow-item\">\u53d1\u5e03\u7684\u662f<br>\u4ee3\u7801\u5e93\uff1f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item green\">\u662f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\">\u5141\u8bb8\u52a8\u6001\u94fe\u63a5<br>\u95ed\u6e90\u4f7f\u7528\uff1f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u5426<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u2014<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item green\">\u662f<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item yellow\">LGPL \/ MPL<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u5426<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u2014<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u5426<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item red\">GPL<\/span>\n  <\/div>\n<\/div>\n\n<div class=\"info-box\">\n  <strong>\u5feb\u901f\u51b3\u7b56\u5efa\u8bae\uff1a<\/strong>\n  <br>\u2022 \u60f3\u6700\u5927\u5316\u88ab\u4f7f\u7528 \u2192 <strong>MIT<\/strong>\uff08\u6700\u5bbd\u677e\uff0c\u95e8\u69db\u6700\u4f4e\uff09\n  <br>\u2022 \u4f01\u4e1a\u9879\u76ee\/\u9700\u8981\u4e13\u5229\u4fdd\u62a4 \u2192 <strong>Apache 2.0<\/strong>\n  <br>\u2022 \u5e0c\u671b\u4ee3\u7801\u6c38\u8fdc\u81ea\u7531 \u2192 <strong>GPLv3<\/strong>\n  <br>\u2022 \u53d1\u5e03\u5f00\u6e90\u5e93\u4f9b\u4ed6\u4eba\u4f7f\u7528 \u2192 <strong>LGPL \/ MPL 2.0<\/strong>\n  <br>\u2022 \u5b8c\u5168\u653e\u5f03\u7248\u6743 \u2192 <strong>Unlicense \/ CC0<\/strong>\n  <br>\u2022 \u4e0d\u786e\u5b9a \u2192 <strong>MIT<\/strong> \u662f\u5b89\u5168\u9ed8\u8ba4\u9009\u62e9\n<\/div>\n\n<!-- Section 7 -->\n<h2 id=\"zh-examples\">\u4e03\u3001\u77e5\u540d\u9879\u76ee\u4f7f\u7528\u4e3e\u4f8b<\/h2>\n<div class=\"examples-grid\">\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">React<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">Vue.js<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">Node.js<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">Bootstrap<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">jQuery<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">Next.js<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">Kubernetes<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">TensorFlow<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">Android<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">Spring<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">BSD 3<\/span><span class=\"name\">Go<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">BSD 2<\/span><span class=\"name\">Nginx<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">BSD 3<\/span><span class=\"name\">Redis<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-red\">GPLv2<\/span><span class=\"name\">Linux Kernel<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-red\">GPLv2<\/span><span class=\"name\">Git<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-red\">GPLv2<\/span><span class=\"name\">WordPress<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-yellow\">LGPL<\/span><span class=\"name\">FFmpeg<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-yellow\">LGPL<\/span><span class=\"name\">glibc<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-purple\">MPL 2.0<\/span><span class=\"name\">Firefox<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-purple\">MPL 2.0<\/span><span class=\"name\">LibreOffice<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Unlicense<\/span><span class=\"name\">SQLite<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">Swift<\/span><\/div>\n<\/div>\n\n<!-- Section 8 -->\n<h2 id=\"zh-faq\">\u516b\u3001\u5e38\u89c1\u95ee\u9898<\/h2>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q\uff1a\u5f00\u6e90\u534f\u8bae\u662f\u6cd5\u5f8b\u6587\u4ef6\u5417\uff1f<\/div>\n  <div class=\"faq-a\">\u662f\u7684\u3002\u5f00\u6e90\u534f\u8bae\u5177\u6709\u6cd5\u5f8b\u7ea6\u675f\u529b\uff0c\u5728\u53f8\u6cd5\u5b9e\u8df5\u4e2d\u5df2\u88ab\u6cd5\u9662\u8ba4\u53ef\u3002\u8fdd\u53cd\u5f00\u6e90\u534f\u8bae\u53ef\u80fd\u6784\u6210\u7248\u6743\u4fb5\u6743\u3002<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q\uff1aGPL \u7684&#8221;\u4f20\u67d3\u6027&#8221;\u5230\u5e95\u6709\u591a\u8fdc\uff1f<\/div>\n  <div class=\"faq-a\">GPL \u7684\u4f20\u67d3\u6027\u4ec5\u9650\u4e8e&#8221;\u53d1\u5e03&#8221;\uff08Distribution\uff09\u884c\u4e3a\u3002\u5982\u679c\u4ec5\u4ec5\u5185\u90e8\u4f7f\u7528 GPL \u4ee3\u7801\uff0c\u65e0\u9700\u5f00\u6e90\uff1b\u4f46\u5982\u679c\u5c06\u4fee\u6539\u7248\u5bf9\u5916\u5206\u53d1\uff0c\u5219\u5fc5\u987b\u4f7f\u7528 GPL \u5f00\u6e90\u3002GPLv3 \u8fd8\u589e\u52a0\u4e86\u5bf9&#8221;\u53cd\u89c4\u907f&#8221;\u548c&#8221;Tivoization&#8221;\u7684\u9650\u5236\u3002<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q\uff1a\u53ef\u4ee5\u5728\u5546\u4e1a\u8f6f\u4ef6\u4e2d\u4f7f\u7528 MIT\/Apache \u4ee3\u7801\u5417\uff1f<\/div>\n  <div class=\"faq-a\">\u53ef\u4ee5\u3002MIT \u548c Apache 2.0 \u90fd\u660e\u786e\u5141\u8bb8\u5546\u4e1a\u4f7f\u7528\uff0c\u5305\u62ec\u5c06\u4fee\u6539\u540e\u7684\u4ee3\u7801\u4f5c\u4e3a\u95ed\u6e90\u5546\u4e1a\u8f6f\u4ef6\u53d1\u5e03\uff0c\u53ea\u9700\u4fdd\u7559\u539f\u59cb\u7248\u6743\u58f0\u660e\u3002<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q\uff1a\u53ef\u4ee5\u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u5f00\u6e90\u534f\u8bae\u5417\uff1f<\/div>\n  <div class=\"faq-a\">\u53ef\u4ee5\u3002\u9879\u76ee\u53ef\u4ee5\u9009\u62e9&#8221;\u591a\u534f\u8bae\u53d1\u5e03&#8221;\uff08Dual License\uff09\uff0c\u8ba9\u4f7f\u7528\u8005\u6839\u636e\u81ea\u8eab\u9700\u6c42\u9009\u62e9\u6700\u5408\u9002\u7684\u534f\u8bae\u3002\u4f8b\u5982\uff0cMySQL \u540c\u65f6\u63d0\u4f9b GPL \u548c\u5546\u4e1a\u8bb8\u53ef\u8bc1\u3002<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q\uff1a\u5f00\u6e90\u534f\u8bae\u4e4b\u95f4\u53ef\u4ee5\u517c\u5bb9\u5417\uff1f<\/div>\n  <div class=\"faq-a\">\u4e0d\u5b8c\u5168\u517c\u5bb9\u3002\u4f8b\u5982\uff0cGPL \u4ee3\u7801\u4e0d\u80fd\u4e0e MIT \u4ee3\u7801\u6df7\u5408\u540e\u4ee5 MIT \u534f\u8bae\u53d1\u5e03\uff08GPL \u4f1a&#8221;\u8986\u76d6&#8221;MIT\uff09\u3002\u5c06 MIT \u4ee3\u7801\u6574\u5408\u5230 GPL \u9879\u76ee\u4e2d\u5219\u53ef\u4ee5\u3002\u534f\u8bae\u517c\u5bb9\u6027\u662f\u4e00\u4e2a\u590d\u6742\u95ee\u9898\uff0c\u9700\u8981\u5177\u4f53\u5206\u6790\u3002<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q\uff1a\u5982\u4f55\u4e3a\u81ea\u5df1\u7684\u9879\u76ee\u9009\u62e9\u534f\u8bae\uff1f<\/div>\n  <div class=\"faq-a\">\u5efa\u8bae\u4f7f\u7528 <a href=\"https:\/\/choosealicense.com\/\" target=\"_blank\" rel=\"noopener\">choosealicense.com<\/a> \u5de5\u5177\uff0c\u5b83\u901a\u8fc7\u95ee\u7b54\u5f15\u5bfc\u5e2e\u52a9\u9009\u62e9\u6700\u5408\u9002\u7684\u534f\u8bae\u3002\u4e0d\u786e\u5b9a\u65f6\uff0c<strong>MIT<\/strong> \u662f\u6700\u5b89\u5168\u3001\u6700\u901a\u7528\u7684\u9ed8\u8ba4\u9009\u62e9\u3002<\/div>\n<\/div>\n<\/div><!-- \/zh -->\n\n<!-- ==================== EN ==================== -->\n<div class=\"lang-section\" id=\"lang-en\">\n<div class=\"hero\">\n  <h1>Open Source License Guide\n    <span class=\"sub\">What open source licenses are, why they matter, and how to choose the right one<\/span>\n  <\/h1>\n<\/div>\n\n<div class=\"toc\">\n  <h3>Table of Contents<\/h3>\n  <ol>\n    <li><a href=\"#en-what\">What is an Open Source License<\/a><\/li>\n    <li><a href=\"#en-why\">Why Open Source Licenses Matter<\/a><\/li>\n    <li><a href=\"#en-categories\">Two Categories: Permissive vs Copyleft<\/a><\/li>\n    <li><a href=\"#en-licenses\">Common Open Source Licenses<\/a><\/li>\n    <li><a href=\"#en-compare\">Comparison Table<\/a><\/li>\n    <li><a href=\"#en-choose\">How to Choose a License<\/a><\/li>\n    <li><a href=\"#en-examples\">Real-World Examples<\/a><\/li>\n    <li><a href=\"#en-faq\">FAQ<\/a><\/li>\n  <\/ol>\n<\/div>\n\n<!-- Section 1 -->\n<h2 id=\"en-what\">1. What is an Open Source License<\/h2>\n<p>An open source license is a <strong>legally binding statement<\/strong> by which a software author grants others the permission to use, copy, modify, and distribute the software, while retaining some rights or imposing specific conditions.<\/p>\n<p>Without a license, publicly available source code is protected by <strong>copyright law by default<\/strong> \u2014 meaning no one has the right to use, modify, or distribute it, even if the code is publicly visible. Therefore, an open source license is the <strong>foundation of legal operation<\/strong> for any open source project.<\/p>\n<div class=\"info-box\">\n  <strong>In a nutshell:<\/strong> An open source license is a &#8220;user manual&#8221; from the author that tells others what they can and must do with the code.\n<\/div>\n\n<!-- Section 2 -->\n<h2 id=\"en-why\">2. Why Open Source Licenses Matter<\/h2>\n<div class=\"card\">\n  <p><strong>Protects both authors and users<\/strong> \u2014 The license clarifies copyright ownership while providing legal protection for users, preventing infringement claims when using open source code.<\/p>\n<\/div>\n<div class=\"card\">\n  <p><strong>Defines usage boundaries<\/strong> \u2014 Can the code be used commercially? Must modified code be open-sourced? These critical questions need a license to answer.<\/p>\n<\/div>\n<div class=\"card\">\n  <p><strong>Enables community collaboration<\/strong> \u2014 A unified license lowers the legal barriers to collaboration, allowing developers worldwide to contribute under the same rules.<\/p>\n<\/div>\n<div class=\"card\">\n  <p><strong>Prevents legal disputes<\/strong> \u2014 Clear licensing terms reduce disputes over code usage, helping the open source community thrive.<\/p>\n<\/div>\n\n<!-- Section 3 -->\n<h2 id=\"en-categories\">3. Two Categories: Permissive vs Copyleft<\/h2>\n<p>Open source licenses can be broadly divided into two categories based on their <strong>copyleft strength<\/strong>:<\/p>\n\n<div class=\"card\">\n  <h3><span class=\"tag tag-green\">Permissive<\/span> Permissive License<\/h3>\n  <p>Users are free to use, modify, and redistribute the code, even in <strong>proprietary, closed-source<\/strong> commercial software, as long as the original copyright notice is retained.<\/p>\n  <p style=\"margin-top:.5rem;\"><strong>Representative:<\/strong> <span class=\"tag tag-blue\">MIT<\/span> <span class=\"tag tag-blue\">Apache 2.0<\/span> <span class=\"tag tag-blue\">BSD<\/span><\/p>\n<\/div>\n\n<div class=\"card\">\n  <h3><span class=\"tag tag-red\">Copyleft<\/span> Copyleft License<\/h3>\n  <p>Requires that modified or derivative works be distributed under the <strong>same license<\/strong> \u2014 meaning modified code must also be open source (the &#8220;viral&#8221; effect). The stronger the copyleft, the stricter the requirements.<\/p>\n  <p style=\"margin-top:.5rem;\"><strong>Representative:<\/strong> <span class=\"tag tag-red\">GPL<\/span> <span class=\"tag tag-yellow\">LGPL<\/span> <span class=\"tag tag-purple\">MPL<\/span><\/p>\n<\/div>\n\n<!-- Section 4 -->\n<h2 id=\"en-licenses\">4. Common Open Source Licenses<\/h2>\n\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-green\">Permissive<\/span>\n    <span class=\"tag tag-blue\">MIT<\/span>\n  <\/div>\n  <h3>MIT License<\/h3>\n  <div class=\"desc\">The MIT License is <strong>the most permissive and simplest<\/strong> open source license, originating from the Massachusetts Institute of Technology. Users can do almost anything \u2014 use, modify, copy, distribute, and commercialize \u2014 as long as the original copyright notice is retained.<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 Commercial use allowed<\/li>\n    <li>\u2705 Closed-source redistribution allowed<\/li>\n    <li>\u2705 Modification &#038; distribution allowed<\/li>\n    <li class=\"no\">\u2717 No patent grant (patent issues not addressed)<\/li>\n    <li>\u2705 Must retain copyright notice<\/li>\n    <li class=\"no\">\u2717 No warranty clause<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>Notable projects:<\/strong> React, Vue.js, Node.js, jQuery, Bootstrap, Next.js<\/div>\n<\/div>\n\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-green\">Permissive<\/span>\n    <span class=\"tag tag-blue\">Apache 2.0<\/span>\n  <\/div>\n  <h3>Apache License 2.0<\/h3>\n  <div class=\"desc\">Apache 2.0 is the <strong>most comprehensive permissive license<\/strong>, created by the Apache Software Foundation. Beyond MIT&#8217;s basic rights, it includes <strong>explicit patent grant<\/strong> provisions, protecting both contributors and users from patent litigation. The preferred choice for enterprise projects.<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 Commercial use allowed<\/li>\n    <li>\u2705 Closed-source redistribution allowed<\/li>\n    <li>\u2705 Modification &#038; distribution allowed<\/li>\n    <li>\u2705 Explicit patent grant<\/li>\n    <li>\u2705 Must retain copyright notice<\/li>\n    <li>\u2705 Must document changes (NOTICE file)<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>Notable projects:<\/strong> Android, Kubernetes, Spring Framework, TensorFlow, Apache HTTP Server, Swift<\/div>\n<\/div>\n\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-green\">Permissive<\/span>\n    <span class=\"tag tag-blue\">BSD<\/span>\n  <\/div>\n  <h3>BSD License<\/h3>\n  <div class=\"desc\">The BSD License (Berkeley Software Distribution License) has two main versions: <strong>BSD 2-Clause<\/strong> (simplified) and <strong>BSD 3-Clause<\/strong> (standard). The 3-Clause adds a &#8220;no endorsement&#8221; clause \u2014 the author&#8217;s name cannot be used for promotion.<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 Commercial use allowed<\/li>\n    <li>\u2705 Closed-source redistribution allowed<\/li>\n    <li>\u2705 Modification &#038; distribution allowed<\/li>\n    <li class=\"no\">\u2717 No patent grant<\/li>\n    <li>\u2705 Must retain copyright notice<\/li>\n    <li>\u2705 (3-Clause) No endorsement clause<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>Notable projects:<\/strong> Go (BSD 3-Clause), Nginx (BSD 2-Clause), Redis (BSD 3-Clause)<\/div>\n<\/div>\n\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-red\">Strong Copyleft<\/span>\n    <span class=\"tag tag-red\">GPL<\/span>\n  <\/div>\n  <h3>GNU General Public License (GPL)<\/h3>\n  <div class=\"desc\">The GPL is <strong>the most famous copyleft license<\/strong>, published by the Free Software Foundation (FSF). Core requirement: if you distribute modified or derivative code based on GPL-licensed code, it <strong>must be open-sourced under GPL<\/strong>. The current major version is GPLv3.<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 Commercial use allowed<\/li>\n    <li class=\"no\">\u2717 No closed-source redistribution (derivatives must be open)<\/li>\n    <li>\u2705 Modification &#038; distribution allowed<\/li>\n    <li>\u2705 Patent grant included<\/li>\n    <li>\u2705 Must retain copyright notice<\/li>\n    <li>\u2705 Modified code must use GPL<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>Notable projects:<\/strong> Linux Kernel (GPLv2), Git (GPLv2), WordPress (GPLv2), GCC (GPLv3)<\/div>\n<\/div>\n\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-yellow\">Weak Copyleft<\/span>\n    <span class=\"tag tag-yellow\">LGPL<\/span>\n  <\/div>\n  <h3>GNU Lesser General Public License (LGPL)<\/h3>\n  <div class=\"desc\">LGPL is a <strong>&#8220;weakened&#8221; version of GPL<\/strong>, designed for software libraries. Modifications to the LGPL code itself must be open-sourced, but applications that <strong>use LGPL libraries via dynamic linking<\/strong> can remain closed-source. This makes LGPL ideal for libraries.<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 Commercial use allowed<\/li>\n    <li>\u2705 Dynamic linking can be closed-source<\/li>\n    <li>\u2705 Modification &#038; distribution allowed<\/li>\n    <li>\u2705 Modifications to the library itself must be open<\/li>\n    <li>\u2705 Must retain copyright notice<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>Notable projects:<\/strong> FFmpeg, glibc, GTK, Qt (earlier versions under LGPL)<\/div>\n<\/div>\n\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-purple\">Weak Copyleft<\/span>\n    <span class=\"tag tag-purple\">MPL 2.0<\/span>\n  <\/div>\n  <h3>Mozilla Public License (MPL 2.0)<\/h3>\n  <div class=\"desc\">MPL is a license by the Mozilla Foundation with <strong>file-level copyleft<\/strong> \u2014 if a specific MPL file is modified, that file must be open-sourced, but it can be <strong>combined with proprietary files<\/strong> in the same project without affecting them.<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 Commercial use allowed<\/li>\n    <li>\u2705 Combined compilation can be closed (other files unaffected)<\/li>\n    <li>\u2705 Modification &#038; distribution allowed<\/li>\n    <li>\u2705 Modified MPL files must be open-sourced<\/li>\n    <li>\u2705 Must retain copyright notice<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>Notable projects:<\/strong> Firefox, Thunderbird, LibreOffice<\/div>\n<\/div>\n\n<div class=\"license-card\">\n  <div class=\"meta\">\n    <span class=\"tag tag-green\">Public Domain<\/span>\n    <span class=\"tag tag-blue\">Unlicense<\/span>\n  <\/div>\n  <h3>Unlicense \/ Public Domain<\/h3>\n  <div class=\"desc\">Unlicense and CC0 <strong>dedicate code to the public domain<\/strong>, waiving all copyright. Users can use, modify, and distribute without any restrictions, even without retaining a copyright notice. This is the most &#8220;free&#8221; option available.<\/div>\n  <ul class=\"feature-list\">\n    <li>\u2705 Commercial use allowed<\/li>\n    <li>\u2705 Closed-source redistribution allowed<\/li>\n    <li>\u2705 Modification &#038; distribution allowed<\/li>\n    <li>\u2705 No copyright notice required<\/li>\n    <li>\u2705 No warranty of any kind<\/li>\n  <\/ul>\n  <div class=\"example\"><strong>Notable projects:<\/strong> SQLite (public domain), many small utility libraries<\/div>\n<\/div>\n\n<!-- Section 5 -->\n<h2 id=\"en-compare\">5. License Comparison Table<\/h2>\n<div class=\"table-wrap\">\n<table>\n  <thead>\n    <tr>\n      <th>Feature<\/th>\n      <th>MIT<\/th>\n      <th>Apache 2.0<\/th>\n      <th>BSD 3-Clause<\/th>\n      <th>GPLv3<\/th>\n      <th>LGPLv3<\/th>\n      <th>MPL 2.0<\/th>\n      <th>Unlicense<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Commercial use<\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>Closed-source distribution<\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-partial\">\u25b3<\/span><\/td>\n      <td><span class=\"icon-partial\">\u25b3<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>Patent grant<\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>Retain copyright notice<\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-no\">\u2014<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>Modifications must open<\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n      <td><span class=\"icon-yes\">\u2713<\/span><\/td>\n      <td><span class=\"icon-partial\">\u25b3<\/span><\/td>\n      <td><span class=\"icon-partial\">\u25b3<\/span><\/td>\n      <td><span class=\"icon-no\">\u2717<\/span><\/td>\n    <\/tr>\n    <tr>\n      <td>Copyleft scope<\/td>\n      <td>None<\/td>\n      <td>None<\/td>\n      <td>None<\/td>\n      <td>Whole project<\/td>\n      <td>Library itself<\/td>\n      <td>File-level<\/td>\n      <td>None<\/td>\n    <\/tr>\n    <tr>\n      <td>Best for<\/td>\n      <td>Small \/ personal projects<\/td>\n      <td>Enterprise \/ large projects<\/td>\n      <td>Academic \/ compliance-sensitive<\/td>\n      <td>Protecting free software<\/td>\n      <td>Open source libraries<\/td>\n      <td>Mixed projects<\/td>\n      <td>Dedicating to public domain<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n<\/div>\n<div class=\"info-box\">\n  <strong>Note:<\/strong> \u25b3 means conditionally allowed. LGPL allows closed-source dynamic linking but modifications to the library itself must be open. MPL requires modified files to be open but allows combined compilation to remain closed.\n<\/div>\n\n<!-- Section 6 -->\n<h2 id=\"en-choose\">6. How to Choose a License<\/h2>\n\n<div class=\"flow-chart\">\n  <div class=\"flow-row\">\n    <span class=\"flow-item\">Keep code<br>open forever?<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item\" style=\"opacity:0.4\">No<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item green\">Yes<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item red\">GPL<\/span>\n  <\/div>\n  <div class=\"flow-label\">Choose GPL to ensure all derivatives remain open source<\/div>\n<\/div>\n\n<div class=\"flow-chart\">\n  <div class=\"flow-row\">\n    <span class=\"flow-item\">Allow closed-source<br>commercial use?<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item green\">Yes<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\">Need patent<br>protection?<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item\" style=\"opacity:0.4\">No<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\" style=\"opacity:0.4\">Need patent?<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item gray\">GPL etc.<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item green\">Yes \u2192 Need patent<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item purple\">Apache 2.0<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item green\">Yes \u2192 No patent<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item yellow\">MIT \/ BSD<\/span>\n  <\/div>\n<\/div>\n\n<div class=\"flow-chart\">\n  <div class=\"flow-row\">\n    <span class=\"flow-item\">Releasing a<br>library?<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item green\">Yes<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\">Allow dynamic-link<br>closed use?<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item\" style=\"opacity:0.4\">No<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u2014<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item green\">Yes<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item yellow\">LGPL \/ MPL<\/span>\n  <\/div>\n  <div class=\"flow-row\">\n    <span class=\"flow-item\" style=\"opacity:0.4\">No<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\" style=\"opacity:0.4\">\u2014<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item\" style=\"opacity:0.4\">No<\/span>\n    <span class=\"flow-arrow\">\u2192<\/span>\n    <span class=\"flow-item red\">GPL<\/span>\n  <\/div>\n<\/div>\n\n<div class=\"info-box\">\n  <strong>Quick Decision Guide:<\/strong>\n  <br>\u2022 Maximize adoption \u2192 <strong>MIT<\/strong> (most permissive, lowest barrier)\n  <br>\u2022 Enterprise \/ need patent protection \u2192 <strong>Apache 2.0<\/strong>\n  <br>\u2022 Keep software forever free \u2192 <strong>GPLv3<\/strong>\n  <br>\u2022 Release a library for others \u2192 <strong>LGPL \/ MPL 2.0<\/strong>\n  <br>\u2022 Full public domain dedication \u2192 <strong>Unlicense \/ CC0<\/strong>\n  <br>\u2022 Not sure \u2192 <strong>MIT<\/strong> is the safe default\n<\/div>\n\n<!-- Section 7 -->\n<h2 id=\"en-examples\">7. Real-World Examples<\/h2>\n<div class=\"examples-grid\">\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">React<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">Vue.js<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">Node.js<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">Bootstrap<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">jQuery<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">MIT<\/span><span class=\"name\">Next.js<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">Kubernetes<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">TensorFlow<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">Android<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">Spring<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">BSD 3<\/span><span class=\"name\">Go<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">BSD 2<\/span><span class=\"name\">Nginx<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">BSD 3<\/span><span class=\"name\">Redis<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-red\">GPLv2<\/span><span class=\"name\">Linux Kernel<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-red\">GPLv2<\/span><span class=\"name\">Git<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-red\">GPLv2<\/span><span class=\"name\">WordPress<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-yellow\">LGPL<\/span><span class=\"name\">FFmpeg<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-yellow\">LGPL<\/span><span class=\"name\">glibc<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-purple\">MPL 2.0<\/span><span class=\"name\">Firefox<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-purple\">MPL 2.0<\/span><span class=\"name\">LibreOffice<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Unlicense<\/span><span class=\"name\">SQLite<\/span><\/div>\n  <div class=\"item\"><span class=\"tag tag-blue\">Apache 2.0<\/span><span class=\"name\">Swift<\/span><\/div>\n<\/div>\n\n<!-- Section 8 -->\n<h2 id=\"en-faq\">8. FAQ<\/h2>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q: Are open source licenses legally binding?<\/div>\n  <div class=\"faq-a\">Yes. Open source licenses are legally enforceable and have been recognized by courts in practice. Violating an open source license may constitute copyright infringement.<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q: How far does GPL&#8217;s &#8220;copyleft&#8221; reach?<\/div>\n  <div class=\"faq-a\">GPL&#8217;s copyleft only applies to &#8220;distribution.&#8221; If GPL code is used internally only, no open-sourcing is required. However, if modified code is distributed externally, it must be open-sourced under GPL. GPLv3 also adds anti-circumvention and anti-Tivoization provisions.<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q: Can I use MIT\/Apache code in commercial software?<\/div>\n  <div class=\"faq-a\">Yes. Both MIT and Apache 2.0 explicitly allow commercial use, including redistributing modified code as closed-source commercial software, as long as the original copyright notice is retained.<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q: Can a project use multiple licenses?<\/div>\n  <div class=\"faq-a\">Yes. This is called &#8220;dual licensing&#8221; \u2014 allowing users to choose the license that best fits their needs. For example, MySQL offers both GPL and commercial licenses.<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q: Are open source licenses compatible with each other?<\/div>\n  <div class=\"faq-a\">Not fully. For example, GPL code cannot be mixed with MIT code and released under MIT (GPL &#8220;overrides&#8221; MIT). However, MIT code can be incorporated into a GPL project. License compatibility is a complex topic that requires case-by-case analysis.<\/div>\n<\/div>\n<div class=\"faq-item\">\n  <div class=\"faq-q\">Q: How do I choose a license for my project?<\/div>\n  <div class=\"faq-a\">Use the <a href=\"https:\/\/choosealicense.com\/\" target=\"_blank\" rel=\"noopener\">choosealicense.com<\/a> tool \u2014 it guides you through questions to find the best license. When in doubt, <strong>MIT<\/strong> is the safest and most common default choice.<\/div>\n<\/div>\n<\/div><!-- \/en -->\n\n<\/main>\n\n<footer>\n  <div class=\"links\">\n    <a href=\"https:\/\/choosealicense.com\/\" target=\"_blank\" rel=\"noopener\">choosealicense.com<\/a>\n    <a href=\"https:\/\/opensource.org\/licenses\/\" target=\"_blank\" rel=\"noopener\">OSI Licenses<\/a>\n    <a href=\"https:\/\/www.gnu.org\/licenses\/\" target=\"_blank\" rel=\"noopener\">GNU Licenses<\/a>\n    <a href=\"https:\/\/www.apache.org\/licenses\/\" target=\"_blank\" rel=\"noopener\">Apache Licenses<\/a>\n  <\/div>\n  <p>Open Source License Guide \u00b7 \u5f00\u6e90\u534f\u8bae\u5b8c\u5168\u6307\u5357<\/p>\n<\/footer>\n\n<script>\n\/\/ Language switching\nfunction setLang(lang) {\n  document.querySelectorAll('.lang-section').forEach(function(el) { el.classList.remove('active'); });\n  document.getElementById('lang-' + lang).classList.add('active');\n  document.querySelectorAll('.lang-switch button').forEach(function(btn) { btn.classList.remove('active'); });\n  document.getElementById('btn-' + lang).classList.add('active');\n  document.documentElement.lang = lang === 'zh' ? 'zh-CN' : 'en';\n  \/\/ Update URL hash\n  var prefix = lang === 'zh' ? 'zh' : 'en';\n  var hash = window.location.hash.replace(\/^#(zh|en)-\/, prefix + '-');\n  if (hash) window.location.hash = hash;\n}\n\n\/\/ Theme switching\nfunction toggleTheme() {\n  var html = document.documentElement;\n  if (html.hasAttribute('data-theme')) {\n    html.removeAttribute('data-theme');\n    localStorage.removeItem('theme');\n  } else {\n    html.setAttribute('data-theme', 'dark');\n    localStorage.setItem('theme', 'dark');\n  }\n}\n\n\/\/ Restore saved theme on load\n(function() {\n  if (localStorage.getItem('theme') === 'dark') {\n    document.documentElement.setAttribute('data-theme', 'dark');\n  }\n  \/\/ Scroll to hash on language switch\n  var hash = window.location.hash;\n  if (hash) {\n    var target = document.querySelector(hash);\n    if (target) setTimeout(function() { target.scrollIntoView({ behavior: 'smooth' }); }, 100);\n  }\n})();\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>\u5f00\u6e90\u534f\u8bae\u5b8c\u5168\u6307\u5357 \u00b7 Open Source License Guide \ud83d\udcdc Open Source Lice [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,9],"tags":[],"class_list":["post-312","post","type-post","status-publish","format-standard","hentry","category-cad","category-ai"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/numsimlab.com\/index.php?rest_route=\/wp\/v2\/posts\/312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/numsimlab.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/numsimlab.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/numsimlab.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/numsimlab.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=312"}],"version-history":[{"count":1,"href":"https:\/\/numsimlab.com\/index.php?rest_route=\/wp\/v2\/posts\/312\/revisions"}],"predecessor-version":[{"id":313,"href":"https:\/\/numsimlab.com\/index.php?rest_route=\/wp\/v2\/posts\/312\/revisions\/313"}],"wp:attachment":[{"href":"https:\/\/numsimlab.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/numsimlab.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/numsimlab.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}