想象你所在的小区新开了一间共享厨房:菜谱公开贴在墙上,任何人都能走进来照着做。这激发了社区的烹饪热情,却也带来了乱象——有人把菜谱改成危险的暗黑料理,有人把独家配方搬到别处牟利。如果不想让这份自由变成灾难,就必须有一部「共享厨房公约」:菜谱授权书怎么签、谁对出品负责、新菜要先经过什么检验、厨房的安全装置怎么布置、邻居们如何共同议事、特别危险的配方要不要分批公开、以及如何让这间厨房长久运转下去。开源AI的世界,正需要这样一套治理框架。本文会用这间共享厨房的故事,带你完整看懂开源AI的治理体系——从许可证选择、发布责任、安全评估,到滥用防范、社区治理、分级开放与生态可持续,每一个环节都像一个看得见摸得着的生活场景。

岗位关联

掌握开源AI治理框架,让你在模型发布、许可证选型和社区运营中既有创新底气又有合规底线,是AI工程师走向技术管理者必备的素养。

目录
  1. 可视化演示
  2. 治理总览
  3. 许可证选择
  4. 发布责任
  5. 安全评估
  6. 滥用防范
  7. 社区治理
  8. 分级开放
  9. 生态可持续
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示开源AI模型的三种治理模式:宽松许可、负责任许可与社区共治,通过利益相关方网络与治理流程动画呈现治理差异。

本节配有交互动效(进入视口后自动加载,约 3KB)。

宽松许可模式 MIT/Apache许可允许自由使用修改和分发几乎无限制 采用率高但缺乏使用场景约束安全风险较大 openness = 1 - restrictions 宽松模式促进快速传播但安全治理薄弱

治理总览

想象你住的小区新开了一间共享厨房:菜谱公开贴在墙上,任何人都能进来照着做。这份慷慨带来了热闹,也带来了混乱——有人把菜谱改成暗黑料理,有人把调料包换成劣质品。如果不想让这场热闹变成灾难,就必须先立一部「厨房公约」。开源AI治理,本质上就是给开放的社区立规矩。

这部公约的核心目标,是在鼓励开放创新的活力与防止滥用带来的社会风险之间取得平衡。开源AI治理,指围绕模型从开发、发布到使用的全过程规则总和:谁来发布、以什么条件发布、发布前如何检验、发布后如何防范滥用、社区如何共同维护。它和闭源AI最大的差异在于:闭源像「米其林后厨」——规矩由主厨定,食客只能在菜单范围内选择;开源则像共享厨房——任何人都能走进来,所以治理必须从「内部管控」变为「外部共治」。

要判断外部共治该花多大力气,先得把风险量化。治理决策中常用一个直观的风险公式:

回到厨房:公约第一条不复杂——先看清楚这口锅有多烫、有多少人会伸手去摸。把暴露度和脆弱性量化成数字,治理就从拍脑袋变成了有章可循。

R=E×V\displaystyle R = E \times V
风险水平 = 暴露度 × 脆弱性。暴露度再高,只要模型本身牢固,风险也有限;脆弱性再高,如果没人能碰到,危害也传不出去。两者相乘,才能反映真实风险。
  1. R(风险水平)开源模型可能被滥用并造成实际危害的总量级判断。
    RR
  2. E(暴露度)能用上模型的人数、公开渠道数量、开放接口的广泛程度。
    EE
  3. V(脆弱性)模型越狱难度、内容安全弱点、被诱导生成有害内容的可能性。
    VV
  4. 乘法相乘两个因子彼此放大,任何一方偏高,整体风险都会同步飙升。
    R=E×VR = E \times V

许可证选择

共享厨房里,每张菜谱顶端都钉着一份授权书,写明别人照着做时要守什么规矩。许可证,就是开源AI的授权书。选错授权书,轻则引发版权纠纷,重则让模型被用于完全违背初衷的用途。

Apache 2.0 像一份详尽周全的授权书:允许商用、修改与再分发,条件是要保留原始版权声明,而且它额外附赠「专利授权」——使用方不会被突然冒出的专利诉讼缠住手脚。MIT 则像一句话授权:极简、自由,几乎不设额外条件。而 RAIL(Responsible AI License,负责任AI许可证)完全不同:它基于 MIT 或 Apache 的宽松框架,额外追加了行为限制条款——允许学习和商业使用,但明令禁止利用模型从事伤害、非法、歧视等高风险场景。

选择哪份授权书,需要权衡自由度。可以用一个简单的加权求和来估算许可证开放度:

家常菜谱贴「MIT」无人介意;但若是一份能调配出危险化学品的特殊配方,就得加一层 RAIL 的「安全锁」。授权书不是越宽松越好,而是匹配风险才好。

O=wUU+wMM+wSS\displaystyle O = w_U U + w_M M + w_S S
开放度 = 使用自由权重 × 使用自由 + 修改自由权重 × 修改自由 + 分享自由权重 × 分享自由。不同项目对三类自由的重视程度不同,权重因人而异。
  1. O(开放度)许可证赋予使用方的整体自由度评分。
    OO
  2. U(使用自由)能否商用、能否随意调用模型服务。
    UU
  3. M(修改自由)能否微调、改造、融入自己的系统。
    MM
  4. S(分享自由)能否再分发、转授权,甚至并入别的模型。
    SS
  5. 加权求和商用项目更看重U,研究机构更看重M,社区生态更看重S。
    O=wUU+wMM+wSSO = w_U U + w_M M + w_S S

发布责任

菜谱出版成书之前,总得有人签名负责。开源模型的发布也一样——「我发布了这个模型,我对它的公开行为负责」,这就是发布责任的起点。

发布责任指模型走向公开时,各方对可能后果承担的义务。责任主体通常有三类:训练方(设计并训练出模型)、发布方(决定公开权重并提供下载)、托管服务方(提供API或基础设施)。透明度义务要求发布方公开训练数据来源、对齐方法、已知局限;版本管理则要求每次发布都留痕:与上一版相比改了什么、新增了哪些风险、适用于哪些场景。发布前还要走合规流程:风险分级→安全评估→许可证确认→文档撰写→版本存档。

责任的大小如何度量?可以借助影响面和可追溯性来判断:

就像共享厨房有「菜谱登记册」,发布责任让每一次开源都留下签名。出了问题不是无从追责,而是有人站出来说:这是我发布的,我来负责。

A=Impact×Traceability\displaystyle A = \mathrm{Impact} \times \mathrm{Traceability}
责任权重 = 最大影响 × 可追溯性。一个模型影响面越广、且能清晰追溯到发布源头,发布方就越需要承担严格责任。
  1. A(责任权重)发布方在事故追责中被要求的整改与赔偿程度。
    AA
  2. Impact(最大影响)模型在最坏场景下能造成的伤害量级。
    Impact\mathrm{Impact}
  3. Traceability(可追溯性)通过日志、版本记录能否定位到谁发布了什么。
    Traceability\mathrm{Traceability}
  4. 乘积累加影响越大、追溯性越强,发布方的责任就越重。
    A=Impact×TraceabilityA = \mathrm{Impact} \times \mathrm{Traceability}

安全评估

新菜上桌前要试吃。先请几位大胆的朋友小范围尝,确认不会拉肚子,才敢让全社区排队。开源AI的安全评估,就是这个「试吃」环节。

安全评估的第一步是风险分级:基于前文的暴露度和脆弱性,把模型评为低、中、高三档。低风险模型可以直接开源;中风险需要补充缓解措施;高风险则必须先大幅加固,否则不发布。评估方法包括对抗性测试(模拟恶意输入)、越狱尝试(试图绕过安全对齐)、内容安全测试(统计生成有害内容的比例)。其中最严格的是红队测试——由独立团队扮演攻击者,用各种刁钻手段主动寻找模型漏洞,仿佛请来一群专业「试毒员」。

防护不可能做到百分之百,因此要计算残余风险:

试吃通过不代表永远安全。菜单上了墙,还得每天观察食客反馈——安全评估不是发布前的一锤子买卖,而是持续的过程。

Rr=R0×(1−M)\displaystyle R_r = R_0 \times (1 - M)
残余风险 = 初始风险 × (1 − 缓解效率)。缓解效率越接近1,防护越完善;残余风险必须低于可接受阈值,模型才具备发布条件。
  1. R0(初始风险)未做任何缓解时模型的固有风险。
    R0R_0
  2. M(缓解效率)评估与防护措施能消除风险的比例,取值0到1。
    MM
  3. 1 − M(残留比例)防护之后仍然存在的风险份额。
    1−M1 - M
  4. 相乘得到残余风险残余风险越低,发布越安全。
    Rr=R0×(1−M)R_r = R_0 \times (1 - M)

滥用防范

好厨房一定配了灭火器和烟雾报警器。菜谱自由,不等于没有防火措施。开源AI的滥用防范,就是这套火灾报警系统。

内容过滤是最直接的一层防线:在模型输入和输出口加安全层,拦截违法、暴力、仇恨言论,也拦截诱导模型作恶的恶意提示词。使用监控则记录异常调用模式——比如短时间内大量生成诈骗邮件、批量制造虚假信息,一旦发现立即告警。此外,社区还应有举报机制,让普通用户能反馈滥用行为。最后是禁用条款:许可证中明确列出禁止场景,一旦查明违规使用,立即撤销使用权。

衡量这套报警系统好不好,关键看检测率:

报警器有时会误报,让人有点烦,但面对火灾隐患,宁可误报也不能不报。滥用防范的目标不是零打扰,而是零灾难。

Pdetect=NblockedNall\displaystyle P_{\text{detect}} = \frac{N_{\text{blocked}}}{N_{\text{all}}}
检测率 = 被拦截的违规请求数 ÷ 全部违规请求数。这个比值越接近1,说明系统越能拦住恶意使用;理想状态是1,表示所有滥用都被拦截。
  1. Pdetect(检测率)系统发现并拦下有问题请求的比例。
    PdetectP_{\text{detect}}
  2. Nblocked(拦截违规数)被过滤器、监控规则挡下的恶意请求条数。
    NblockedN_{\text{blocked}}
  3. Nall(全部违规数)真实存在的全部恶意请求,含漏网之鱼。
    NallN_{\text{all}}
  4. 比值越接近1越安全检测率100%是最理想的安全状态。
    NblockedNall\frac{N_{\text{blocked}}}{N_{\text{all}}}

社区治理

共享厨房能长期运转,靠的是一张值日表和一群愿意议事的邻居。开源AI项目的生命力,同样来自社区治理。

社区里常见的角色有三种:维护者(审批代码、发布版本、把关方向)、贡献者(提交代码、报告问题、参与讨论)、使用者(反馈需求、传播项目)。贡献规则包括行为准则、提交流程和代码审查要求——就像厨房约法三章:用完灶台要清理、刀具归位、新菜谱要经过试吃。决策机制则分为两种:共识决策——反复讨论直到绝大部分人接受;投票决策——按票数定夺。成熟社区往往更倾向共识决策,因为它更注重信任的建立。

决策是否有效,可以通过共识度来刻画:

厨房的热闹不是一天形成的,也不是靠一位大厨撑起来的。有规可依的议事制度,比任何一个人的厨艺都更能让厨房长久运转。

C=NagreeNparticipate\displaystyle C = \frac{N_{\text{agree}}}{N_{\text{participate}}}
共识度 = 支持人数 ÷ 参与人数。共识度超过约定阈值(如70%),提议即可生效。共识决策追求的不是简单多数,而是广泛认可。
  1. C(共识度)某项提议获得社区支持的程度。
    CC
  2. Nagree(支持人数)明确表示同意的成员数。
    NagreeN_{\text{agree}}
  3. Nparticipate(参与人数)参与讨论和表决的成员总数。
    NparticipateN_{\text{participate}}
  4. 阈值判断超过约定阈值则决议生效,否则继续讨论。
    C=NagreeNparticipateC = \frac{N_{\text{agree}}}{N_{\text{participate}}}

分级开放

不是所有菜谱都适合直接贴墙上。招牌酱料的配方先给内部试,普通家常菜则可以公布给全社区。分级开放,就是这种「分批公开」的策略。

渐进式开放是最常见的做法:先从白名单内测开始,验证安全问题后再逐步扩大范围——就像先请几位邻居来试菜,确认没问题再开放给整栋楼。能力封顶则是对参数量过大、恶意能力过强的高危模型,暂时不上传完整权重,或不开放某些高风险能力接口。访问控制通过申请表审批、API限流、身份验证来管理谁能拿到完整版本,相当于厨房的「备品间钥匙」只发给可信的人。

衡量一个模型版本的开放程度,可以用三维相乘:

菜谱分级公开,既让真材实料流动起来,又让特别危险的配方始终握在可信任的人手里。自由不是一次全部交出去,而是分阶段、可控地交。

O=A×U×D\displaystyle O = A \times U \times D
开放度 = 访问自由 × 使用自由 × 再分发自由。任何一维为0,综合开放度就是0,说明本质上仍是封闭系统。
  1. O(开放度)模型某版本对外的整体开放程度。
    OO
  2. A(访问自由)权重能否直接下载,还是只能通过API调用。
    AA
  3. U(使用自由)用途是否受限、是否需要申请审批。
    UU
  4. D(再分发自由)能否转赠、转发、二次开源。
    DD
  5. 相乘而非相加任何一个自由维度缺失,开放就无从谈起。
    O=A×U×DO = A \times U \times D

生态可持续

共享厨房想长期开下去,不能只靠一位热心肠的业主。得有人买菜、有人捐厨具、有人交水电费——开源AI生态的可持续,遵循同样的逻辑。

商业模式上,最常见的是「开源核心 + 增值服务」:模型权重和基础代码开源,但企业级部署、专属调优、技术支持作为付费产品。协作生态上,需要算力共享、训练数据贡献、联合研发等机制,让参与者既有付出也有回报。持续演进则要求每个新版本都要重做安全评估与治理复盘,让治理水平随模型一起升级。

生态的健康度可以用一个简化的流量公式描述:

只有每个参与者都从开放厨房里有所收获,它才不会关门。开源AI的可持续,本质上是让利他主义与商业回报在同一条路上并行。

S=Cin−Cout+Mkeep\displaystyle S = C_{\text{in}} - C_{\text{out}} + M_{\text{keep}}
可持续指数 = 贡献流入 − 贡献流失 + 留存维护。流入大于流失、且有稳定维护力量,生态才能正向发展。
  1. S(可持续指数)开源AI生态能否长期繁荣的量化信号。
    SS
  2. Cin(贡献流入)新贡献者加入、捐赠数据、共享算力、提交代码。
    CinC_{\text{in}}
  3. Cout(贡献流失)核心成员离开、项目分叉(fork)、商业回报不足。
    CoutC_{\text{out}}
  4. Mkeep(留存维护)长期维护者和稳定商业化带来的支撑。
    MkeepM_{\text{keep}}
  5. 整体判断只有当流入与维护之和大于流出,生态才可持续。
    S=Cin−Cout+MkeepS = C_{\text{in}} - C_{\text{out}} + M_{\text{keep}}

AI 应用场景

开源模型发布前的合规评估

阶段:模型发布与合规

解决的问题:很多团队在开源模型时不知道该怎么选许可证、怎么做安全评估,凭感觉发布,等出了事才追悔莫及。通过「风险分级 → 许可证匹配 → 安全评估 → 版本存档」的流程,把治理从口头承诺变成可见步骤。

具体案例:一家医疗AI创业公司计划开源基于大模型微调的问诊模型。团队先评估暴露度(计划公开下载权重)与脆弱性(涉及医疗建议,风险较高),判定为中高风险,于是选择 RAIL 许可证并附加医疗用途限制条款,再做红队测试后限量发布。

企业LLM选型的许可证风险评估

阶段:模型选型与采购

解决的问题:企业在使用开源模型时,容易忽略许可证对商用、再分发、修改的限制,导致法务风险。通过许可证对比工具,可以快速判断「这个模型能不能用于我的商业场景」。

具体案例:某金融公司想基于 Apache 2.0 的模型构建内部知识库系统,并计划在其上微调后对外提供API服务。合规工程师用许可证评分工具确认 Apache 2.0 允许商用与修改,只需保留版权声明,瞬间打消了法务团队的顾虑。

开源社区治理与风险事件响应

阶段:社区运营

解决的问题:开源模型被第三方恶意改造并滥用时,社区面临声誉和信任危机。需要快速响应机制:下架问题版本、发布安全公告、冻结违规者权限。

具体案例:某开源AI社区发现有人绕过了 RAIL 条款,将模型用于批量生成诈骗邮件。社区治理委员会启动应急流程:依据许可证发出违规通知,发布补丁版本的安全过滤器,并邀请红队对补丁做对抗性验证。

Python 演示

python42 行
class OpenSourceGovernance:    def __init__(self):        self.license_map = {            'MIT': {'freedom': 9, 'safety': 3},            'Apache 2.0': {'freedom': 8, 'safety': 5},            'RAIL': {'freedom': 6, 'safety': 8}        }        self.risk_level = 0     def assess_risk(self, exposure, vulnerability):        # 输入暴露度和脆弱性(0~5), 按 R = E * V 计算风险等级        self.risk_level = exposure * vulnerability        if self.risk_level <= 8:            return '低风险'        if self.risk_level <= 15:            return '中风险'        return '高风险'     def suggest_license(self):        # 根据风险等级推荐合适的许可证        if self.risk_level <= 8:            return 'MIT'        if self.risk_level <= 15:            return 'Apache 2.0'        return 'RAIL'     def decide_openness(self):        # 根据风险等级制定分级开放策略        if self.risk_level <= 8:            return '完全开源, 直接公开权重'        if self.risk_level <= 15:            return '引导访问, 禁止高危用例'        return '仅对经过审核的伙伴开放'  if __name__ == '__main__':    gov = OpenSourceGovernance()    exposure = int(input('请输入模型暴露度(0~5): '))    vulnerability = int(input('请输入模型脆弱性(0~5): '))    print('风险等级:', gov.assess_risk(exposure, vulnerability))    print('建议许可证:', gov.suggest_license())    print('开放策略:', gov.decide_openness())
目的:这是一个简易的开源AI治理决策助手,输入模型的暴露度和脆弱性,自动输出风险等级、推荐许可证和建议的开放策略。
  1. self.license_map = {用字典保存三种许可证的自由度与安全度评分,供后续推荐参考。
  2. self.risk_level = exposure * vulnerability按正文中的公式 R = E × V 计算风险值。
  3. if self.risk_level <= 8:风险分级第一档:低风险区间,可放心开源。
  4. if self.risk_level <= 15:风险分级第二档:中风险区间,需要一定防护措施。
  5. return 'RAIL'高风险时推荐带安全条款的许可证,这是治理框架的关键动作。
  6. gov.suggest_license()把推荐逻辑封装成独立方法,主流程更清晰、易复用。

常见误区

误区很多初学者以为选个 MIT 或 Apache 许可证把权重一挂就结束了,认为开源等于放弃所有控制,后续出了事也与自己无关。

正解开源不等于无治理。许可证定义了使用边界,发布方依然需要做安全评估、透明度披露和后续监测。就像共享厨房公开菜谱,不意味着可以放任别人做毒药——授权书和保护条款一直都在。

为何常见:开源运动早年以「自由」为口号,让大众把「开源」和「放任」画了等号,忽视了许可证和负责任发布机制。

误区「想吸引更多开发者,最好一律用 MIT,条款越少越好。」这是在社区里经常听到的建议。

正解宽松许可证确实降低参与门槛,但对高风险模型反而会放大滥用风险,让有责任感的大企业和研究机构不敢使用。RAIL 等带安全条款的许可证在治理层面更稳妥,长期来看吸引的优质贡献者反而更多。开放度和安全感的平衡,才是生态繁荣的基石。

为何常见:只看到「自由」对开发者友好的一面,没看到不设防会给模型声誉和社区信任带来灾难。

误区有人看到 RAIL 有行为限制条款,就直接否定它,认为它不是真正的开源许可证,不值得考虑。

正解RAIL(Responsible AI License)在 MIT/Apache 基础上增加了「负责任使用」的行为条款,确实可能不完全符合 OSI 传统开源定义,但它是专门为 AI 时代设计的治理工具。对高风险模型,它恰好提供了「又要开放、又要安全」的折中方案。

为何常见:用传统软件的开源标准去套所有AI许可证,忽略了AI模型在新场景下更复杂的安全责任和伦理要求。

误区发布时做完评估、定好许可证,就觉得项目可以进入「维护模式」,之后不再关注安全问题了。

正解开源只是治理的起点。新的攻击手段不断出现,模型能力会被社区持续演进,所以必须建立持续监控、版本更新、紧急下架机制,并定期复评风险。治理是贯穿整个生命周期的过程,而不是发布前的一个关卡。

为何常见:把治理理解成「发布前的一次检查」,忽略了AI模型一旦公开,就进入了完全不可控的外部环境。

面试题

Q1. 以下哪项是 Apache 2.0 许可证独有的特点?

单选题 · easy

  • A.自动授予专利许可← 正确答案
  • B.完全禁止商业使用
  • C.要求衍生作品开源
  • D.不要求保留版权声明

答案:A。Apache 2.0 明确包含专利授权条款,使用方不会因专利问题被起诉,这是它与 MIT 的关键区别。它允许商用、不强制 copyleft、并要求保留版权声明,因此 B、C、D 均错误。

Q2. RAIL 许可证与传统开源许可证的最大区别在于

单选题 · easy

  • A.增加安全伦理限制← 正确答案
  • B.取消所有使用限制
  • C.绑定商业授权协议
  • D.强制公开训练数据

答案:A。RAIL(负责任AI许可证)在 MIT/Apache 基础上追加了行为使用限制,例如禁止将模型用于伤害性、歧视性场景。它没有取消限制,也不强制公开训练数据或绑定商业协议。

Q3. 开源AI模型发布前,团队首先要完成

单选题 · easy

  • A.编写宣传文案
  • B.风险分级评估← 正确答案
  • C.注册商业商标
  • D.招募大量用户

答案:B。风险分级是发布前最前置的治理动作,它决定了后续该选哪种许可证、要不要做红队测试、开放到什么程度。宣传、商标、用户招募都不属于治理必选项。

Q4. 下列哪项属于模型「暴露度」的衡量维度?

单选题 · mid

  • A.模型推理速度
  • B.可访问用户数量← 正确答案
  • C.训练集文本长度
  • D.显卡显存大小

答案:B。暴露度指多少人、多少渠道能接触到模型的输出或权重。可访问用户数量是最直接的衡量维度;推理速度、文本长度、显存容量都属于运行细节,与治理中的暴露度无关。

Q5. 与闭源AI相比,开源AI治理最大的挑战是

单选题 · mid

  • A.部署成本过高
  • B.使用行为不可控← 正确答案
  • C.无法快速迭代
  • D.缺乏开源社区

答案:B。开源模型权重公开后,任何人都可以下载、微调、再分发,发布方无法控制第三方如何使用它。这种「不可控性」是开源治理与闭源治理最本质的差异。

Q6. RAIL 许可证限制的是哪类使用?

单选题 · mid

  • A.科研院所模型微调
  • B.危害安全的特定用途← 正确答案
  • C.超过十亿参数量
  • D.欧美以外地区访问

答案:B。RAIL 的核心是行为限制条款,针对的是利用模型进行伤害、非法、歧视、暴力等危害安全的用途。它不限制学术研究、不限制参数量,也不限制地域。

Q7. 关于 RAIL 与开放源代码定义的描述,正确的是

单选题 · hard

  • A.完全禁止获取源代码
  • B.使用限制超出开源定义← 正确答案
  • C.与Apache协议完全相同
  • D.禁止下载模型权重

答案:B。RAIL 因增加了行为使用限制,可能超出传统 OSI 开源定义的范畴,因此它是否属于「纯开源许可证」存在争议。但它并没有禁止获取源码,也不等于 Apache,更不禁止权重下载。

Q8. 社区治理中「共识决策」的主要特点是

单选题 · mid

  • A.少数服从多数的投票
  • B.寻求广泛认可后再行动← 正确答案
  • C.由创始人单独拍板
  • D.完全取消讨论环节

答案:B。共识决策强调充分讨论、寻求绝大多数成员认可后再行动,比简单投票更注重信任建设。投票和创始人拍板都不属于共识机制,完全取消讨论更是违背共识精神。

Q9. 开源AI滥用防范的常见机制包括

多选题 · hard

  • A.内容安全过滤器← 正确答案
  • B.模型使用日志监控← 正确答案
  • C.商业变现抽成规则
  • D.违规行为禁用条款← 正确答案

答案:ABD。内容过滤拦截有害输入输出,日志监控发现异常调用,禁用条款明确违规后果,三者共同构成滥用防范体系。商业变现抽成属于商业模式设计,不属于滥用防范机制。

Q10. 影响开源模型「开放度」评估的核心因素包括

多选题 · extreme

  • A.权重获取自由度← 正确答案
  • B.网络带宽成本
  • C.修改与再分发权利← 正确答案
  • D.用例范围限制← 正确答案

答案:ACD。开放度由访问自由(能否直接下载权重)、修改与再分发自由、用例是否受限共同决定。网络带宽成本属于基础设施开销,不是治理层面的开放度考量因子。