github開源項目添加開源協議,使用很簡單

直接在 GitHub 網頁上創建

  1. 進入你的 GitHub 倉庫

    • 打開你的項目倉庫頁面(如?https://github.com/用戶名/倉庫名)。

  2. 點擊 "Add file" → "Create new file"

    • 在倉庫主頁,點擊右上角的?"Add file"?按鈕,然后選擇?"Create new file"

  3. 輸入文件名?LICENSE(或?LICENSE.md

    • 在文件名輸入框輸入?LICENSE(全部大寫),GitHub 會自動識別它是一個許可證文件。

  4. 選擇 MIT License 模板

    • GitHub 提供了常見許可證的模板。在輸入文件名后,你會看到一個按鈕?"Choose a license template",點擊它。

    • 在彈出窗口中選擇?"MIT License"

    • 修改?[year]?為當前年份(如?2024),[fullname]?為你的名字或組織名(如?Your Name?或?Your Organization)。

  5. 提交更改

    • 點擊?"Commit changes",填寫提交信息(如?Add MIT License),然后確認提交。

開源協議

開源協議(Open Source License)種類繁多,每種協議對代碼的使用、修改、分發等都有不同的要求和限制。以下是常見的開源協議及其主要區別:


1. 寬松型協議(Permissive Licenses)

允許用戶自由使用、修改、分發代碼,幾乎無限制,通常只需保留版權聲明和許可協議。

常見協議:
  • MIT License

    • 特點:簡單、寬松,允許商用、修改、私有化,只需保留版權聲明和許可文件。
    • 適用場景:個人項目、小型開源庫(如 jQuery、React)。
  • Apache License 2.0

    • 特點:類似 MIT,但明確授予專利授權,并要求修改文件需標注變更說明。
    • 適用場景:大型開源項目(如 Android、Kubernetes)。
  • BSD 2-Clause/3-Clause

    • 特點:與 MIT 類似,3-Clause 版禁止用作者名義推廣衍生作品。
    • 適用場景:學術或商業項目(如 FreeBSD)。

2. Copyleft 協議(強保護型協議)

要求衍生作品必須以相同協議開源,確保代碼自由性不被私有化。

常見協議:
  • GNU GPL (General Public License)

    • GPLv2:衍生作品必須開源,且整體項目需遵循 GPL(如 Linux 內核)。
    • GPLv3:新增對專利和硬件限制的條款(如 Bash)。
  • AGPL (Affero GPL)

    • 特點:GPL 的加強版,要求網絡服務(SaaS)也必須開源代碼(如 MongoDB 曾使用)。
  • LGPL (Lesser GPL)

    • 特點:寬松版 GPL,允許動態鏈接閉源軟件(如 GTK 庫)。

3. 其他常見協議

  • Mozilla Public License 2.0 (MPL)

    • 特點:介于寬松和 Copyleft 之間,要求文件級開源,但可組合閉源代碼(如 Firefox)。
  • Eclipse Public License 2.0 (EPL)

    • 特點:類似 MPL,但衍生作品需開源(如 Eclipse IDE)。
  • Creative Commons (CC)

    • 非軟件協議,用于文檔、藝術作品(如 CC BY-SA 要求署名且相同方式共享)。

核心區別對比

協議類型允許閉源要求衍生作品開源專利授權典型代表
MIT???React, Ruby on Rails
Apache 2.0???Android, Kafka
GPL??(整體項目)?Linux, GIMP
AGPL??(含 SaaS)?MongoDB(舊版)
LGPL?(動態鏈接)?(僅修改部分)?GTK, FFmpeg

如何選擇?

  1. 希望代碼自由使用:選 MIT/BSD/Apache。
  2. 防止代碼被私有化:選 GPL/AGPL。
  3. 庫或工具開發:寬松協議(MIT)或弱 Copyleft(LGPL)。
  4. 注意兼容性:GPL 代碼不能直接用于閉源項目。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78678.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78678.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78678.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

8.idea創建maven項目(使用Log4j日志記錄框架+Log4j 介紹)

8.idea創建maven項目(使用Log4j日志記錄框架Log4j 介紹) 在 IntelliJ IDEA 的 Maven 項目中引入了 Log4j,并配置了日志同時輸出到控制臺和文件。 Log4j 提供了靈活的日志配置選項,可以根據項目需求調整日志級別、輸出目標和格式。 1. 創建 Maven 項目 …

【和春筍一起學C++】函數——C++的編程模塊

目錄 1. 原型句法 2. 函數分類 3. 函數參數之按值傳遞 4. 數組作為函數參數 在C中,要使用函數,必須要有這三個方面: 函數原型,函數原型描述了函數到編譯器的接口,函數原型一般放在include文件中。函數原型告訴編譯…

深挖Java基礎之:認識Java(創立空間/先導:Java認識)

今天我要介紹的是在Java中對Java的一些基本語法的認識與他們的運用,以及擬舉例子說明和運用場景,優勢和劣勢, 注:本篇文章是對Java的一些基本的,簡單的代碼塊的一些內容,后續會講解在Java中的變量類型&…

Python+Selenium+Pytest+Allure PO模式UI自動化框架

一、框架結構 allure-report:測試報告base:定位元素封裝data:數據log:日志文件page:頁面封裝文件夾report:緩存報告testcases:測試用例層utils:工具類run.py:執行文件 二…

博物館除濕控濕保衛戰:M-5J1R 電解除濕科技如何重塑文物守護的未來

在盧浮宮幽深的長廊里,達芬奇的《蒙娜麗莎》正經歷著一場看不見的戰爭——不是來自時間的侵蝕,而是空氣中無形的水分子。每一件文物都在與濕度進行著無聲的抗爭,這場抗爭關乎人類文明的延續。濕度,這個看不見的文物殺手&#xff0…

【嘉立創EDA】如何找到曲線和直線的交點,或找到弧線和直線的交點

文章路標?? :one: 文章解決問題:two: 主題內容:three: 參考方法be end..1?? 文章解決問題 操作環境:嘉立創EDA專業版 V2.2.38 本文使用嘉立創EDA,描述如何快速找到曲線和直線交點的方法,這里的曲線包括了弧線等。本文將此過程記錄,以供有需要的讀者參考。 2?? 主題…

大語言模型能否替代心理治療師的深度拓展研究:fou

大語言模型能否替代心理治療師的深度拓展研究 在科技初創企業和研究領域,大型語言模型(LLMs)用于替代心理健康服務提供者的應用備受關注。但研究人員通過對主要醫療機構治療指南的梳理回顧,并對當前 LLMs(如 gpt-4o)進行實驗評估后發現,LLMs 存在對心理疾病患者表達污名…

【linux】Chrony服務器

簡介 1.1 時間的重要性 由于 IT 系統中,準確的計時非常重要,有很多種原因需要準確計時: 在網絡傳輸中,數據包括和日志需要準確的時間戳 各種應用程序中,如訂單信息,交易信息等 都需要準確的時間戳 1.2 時區…

mysql查看哪些表的自增id已超過某個值

場景 想看哪些表數據比較大,如果用count 比較慢,同時表設計如果是自增,有沒有辦法一次查出自增id已超過某值的所有表呢。 方法 SELECT AUTO_INCREMENT,TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA 庫名 AND AUTO_INCRE…

SiamMask原理詳解:從SiamFC到SiamRPN++,再到多任務分支設計

SiamMask原理詳解:從SiamFC到SiamRPN,再到多任務分支設計 一、引言二、SiamFC:目標跟蹤的奠基者1. SiamFC的結構2. SiamFC的局限性 三、SiamRPN:引入Anchor機制的改進1. SiamRPN的創新2. SiamRPN的進一步優化 四、SiamMask&#x…

SpringBoot終極形態:AI生成帶OAuth2鑒權的微服務模塊(節省20人日)

在數字化轉型的浪潮中,開發效率和質量是企業競爭力的關鍵要素。飛算 JavaAI 作為一款創新的 AI 工具,能在 Spring Boot 開發中,自動生成完整微服務模塊,極大提升開發效率。下面,我們就詳細介紹如何借助飛算 JavaAI,實現 Spring Boot 微服務模塊的自動化生成。 飛算 JavaAI 簡介…

Spring緩存注解深度實戰:3大核心注解解鎖高并發系統性能優化?

引言:緩存——高并發系統的“性能加速器”? 在互聯網應用中,數據庫查詢往往是性能瓶頸的核心。當每秒數千次的請求直接沖擊數據庫時,系統響應速度會急劇下降,甚至引發宕機風險。?緩存技術?應運而生,成為解決這一痛…

CSS元素動畫篇:基于當前位置的變換動畫(二)

基于當前位置的變換動畫(二) 前言旋轉效果類元素動畫搖擺動畫效果效果預覽代碼實現 搖晃動畫效果效果預覽代碼實現 螺旋旋轉效果預覽代碼實現 結語 前言 CSS元素動畫一般分為兩種:一種是元素基于當前位置的變換動畫,通過不明顯的…

Qt/C++開發監控GB28181系統/設備注冊/設備注銷/密碼認證/心跳保活/校時

一、前言 根據gb28181協議文檔,第一步就是需要實現設備的注冊,和onvif不同,gb是反過來的,設備端主動連接服務端,而onvif是服務端主動發出搜索,設備被動應答,包括后續的交互幾乎都是被動應答&am…

MATLAB 中的圖形繪制

一、線圖 plot 函數用來創建x和y值的簡單線圖。 x 0 : 0.05 : 30; %從0到30,每隔0.05取一次值 y sin(x); plot(x,y,LineWidth,2) %若(x,y,LineWidth,2)可變粗 xlabel("橫軸標題") ylab…

go語言八股文(五)

1.go的局部變量是分配在棧上還是在堆上 在Go語言中,局部變量的內存分配(棧或堆)由編譯器基于逃逸分析(escape analysis)來決定。以下是總結和具體示例: 棧上分配 當局部變量的生命周期嚴格限定在函數作用…

Gradients of Matrix-Matrix Multiplication in Deep Learning

Gradients of Matrix-Matrix Multiplication in Deep Learning 1. Matrix multiplication2. Derivation of the gradients2.1. Dimensions of the gradients2.2. The chain rule2.3. Derivation of the gradient ? L ? A \frac{ {\partial L} }{ {\partial \boldsymbol {\bo…

Spring Boot 框架簡介

? Spring Boot 框架簡介 1?? 🚀 快速構建 Spring Boot 能夠快速構建可直接運行的、企業級 Spring 應用。 2?? ?? “約定優于配置” 該框架采用"約定優于配置"理念,默認集成 Spring 平臺與主流第三方庫,開發者僅需簡單配置…

【Robocorp實戰指南】Python驅動的開源RPA框架

目錄 前言技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解核心作用講解關鍵技術模塊說明技術選型對比 二、實戰演示環境配置要求核心代碼實現案例1:網頁數據抓取案例2:Excel報表生成 運行結果驗證 三、性能對比測試方…

如何使用 Spring Boot 實現分頁和排序:配置與實踐指南

在現代 Web 應用開發中,分頁和排序是處理大量數據時提升用戶體驗和系統性能的關鍵功能。Spring Boot 結合 Spring Data JPA 提供了簡單而強大的工具,用于實現數據的分頁查詢和動態排序,廣泛應用于 RESTful API、后臺管理系統等場景。2025 年&…