Chọn giấy phép nào trên GitHub: các loại, so sánh

Программирование

Làm thế nào để chọn một giấy phép GitHub và tại sao điều quan trọng là không lựa chọn sai? GitHub là dịch vụ lớn nhất cho sự phát triển chung của các dự án CNTT và dịch vụ lưu trữ tiếp theo của chúng. Với sự trợ giúp của dịch vụ web này, số lượng không giới hạn người có thể làm việc trên một dự án cùng một lúc, cũng như từ bất kỳ đâu trên thế giới. Ngoài ra trong GitHub còn có một hệ thống quản lý hoặc kiểm soát cho phép bạn xem và kiểm soát tuyệt đối mọi thay đổi của nhà phát triển bất cứ lúc nào, và nó cũng cho phép bạn quay lại trạng thái đã xảy ra trước khi thay đổi.
Chọn giấy phép nào trên GitHub: các loại, so sánh Nhưng nói một cách đơn giản, GitHub là một mạng xã hội dành cho các lập trình viên và nhà phát triển, nơi bạn có thể tìm thấy và sau đó thực hành sử dụng mã từ các nhà phát triển khác. Bạn cũng có thể lưu trữ danh mục đầu tư của mình trong GitHub. Nhìn chung, GitHub là một dịch vụ rất phù hợp cho cả các nhà phát triển mới làm quen và các lập trình viên có kinh nghiệm. Tuy nhiên, người dùng dịch vụ này đôi khi có thể có một số câu hỏi về việc lựa chọn giấy phép, vì sự lựa chọn của họ ở đó khá đa dạng.

Giấy phép GitHub là gì

Giấy phép là một tài liệu đặc biệt được thành lập bởi hình thức nhà nước và cho phép một người tham gia vào một loại hoạt động kinh doanh nhất định, điều này nhất thiết phải có sự quan tâm đặc biệt của thành viên nhà nước. Tuy nhiên, thông thường, trong thực tế, chỉ sử dụng các thỏa thuận cấp phép viết tắt hoặc các thỏa thuận quy định việc cấp các giấy phép luật tư. Nhìn chung li-xăng theo đuổi một mục tiêu duy nhất, nhưng quan trọng nhất, đó là sự thoả thuận về nghĩa vụ và quyền lợi giữa người cấp phép và người được cấp phép. Những nhiệm vụ và quyền này hoàn toàn có thể là bất cứ điều gì, nhưng chỉ trong khuôn khổ của pháp luật. Một ví dụ nổi bật là người cấp phép có thể yêu cầu chỉ dẫn bắt buộc về tên của người giữ bản quyền khi người được cấp phép sử dụng tác phẩm. Hoặc, ví dụ, để cho phép sao chép tác phẩm,nhưng nghiêm cấm tuyệt đối bất kỳ sửa đổi nào của nó. Hoặc, để suy ra các yêu cầu như vậy tác phẩm phải được sản xuất trên các điều kiện hoàn toàn giống với bản gốc, và như vậy, có rất nhiều ví dụ về các điều kiện khác nhau được đưa ra.
Chọn giấy phép nào trên GitHub: các loại, so sánh Ví dụ về một trong các giấy phép Apache [/ caption]

Tuy nhiên, chúng ta cũng không được quên rằng giấy phép bảo vệ quyền không chỉ của người cấp phép mà còn cả người được cấp phép. Vì trong đó, bạn có thể thấy và đọc rõ ràng tất cả các điều khoản sử dụng tác phẩm và do đó anh ta không cần phải lo sợ rằng người cấp phép sẽ đột ngột yêu cầu bất kỳ khoản tiền bản quyền hoặc bất kỳ khoản bồi thường nào khác cho việc sử dụng tác phẩm của mình.

Nếu bạn chọn không nhận giấy phép liên quan đến tác phẩm, bản quyền sẽ vẫn được áp dụng theo các quy tắc pháp lý có hiệu lực tại quốc gia đó. Nói một cách đơn giản, việc không có giấy phép không có nghĩa là các tác giả khác có thể sử dụng dự án này theo cách nào họ muốn. Tất cả mọi thứ, hoàn toàn, ngược lại, bởi vì không có bất kỳ giấy phép cụ thể nào, một lập trình viên không có cách nào từ bỏ các quyền đã được pháp luật cấp. Điều quan trọng nữa là phải luôn nhớ rằng giấy phép điều chỉnh tất cả các quyền và nghĩa vụ. Điều này là để bảo vệ chủ sở hữu của tác phẩm khỏi sự mong đợi của người dùng và những gì mà bất kỳ bảo hành nào ngụ ý. Rốt cuộc, không ai muốn phò mã của mình phải ra tòa dưới bất kỳ hình thức nào.

Bản quyền là gì

Quyền tác giả chỉ xuất hiện đối với một người khi, do kết quả của hoạt động trí tuệ, anh ta tạo ra một tác phẩm độc đáo, nhưng đồng thời hữu ích, làm ví dụ, bạn có thể lấy việc viết cùng một chương trình. Khi tất cả những điều trên được thực hiện, người đó trở thành tác giả và bây giờ anh ta hoàn toàn có tất cả bản quyền đối với tác phẩm này. Cũng phải nói rằng bản quyền là độc quyền và không độc quyền. Điểm khác biệt của chúng là quyền tài sản có thể được chuyển giao cho bất kỳ ai, nhưng không phải quyền tài sản sẽ luôn chỉ thuộc về tác giả trong mọi tình huống. Suy cho cùng, trở thành tác giả là một quyền bất khả xâm phạm và bất khả nhượng.

Giấy phép Nguồn mở để làm gì?

Đây cũng là một câu hỏi khá phổ biến đối với các nhà phát triển và lập trình viên mới vào nghề, vì họ chỉ đơn giản là không hiểu tại sao họ nên đính kèm bất kỳ giấy phép nào vào dự án của mình, bởi vì nếu không có giấy phép thì dự án cũng có thể dễ dàng tồn tại. Tuy nhiên, điều này không hoàn toàn đúng, vì nếu chẳng hạn, một nhà phát triển mới làm quen nào đó đã viết một đoạn mã nào đó khá quan trọng và hữu ích, nhưng không bảo vệ nó bằng giấy phép, thì những người dùng khác sẽ có thắc mắc. Và chính vì điều này, khi khách hàng đến với anh ta và muốn sử dụng đoạn mã này cho mục đích thương mại của họ, họ thấy rằng đoạn mã đó không có bất kỳ giấy phép nào và đơn giản là từ chối nó. Điều này là do thực tế là các công ty sẽ không sử dụng mã mà không có giấy phép, bởi vì họ không cần các vấn đề với luật pháp và luật sư.
Chọn giấy phép nào trên GitHub: các loại, so sánh Và đó là lý do tại sao, ngay cả dự án hữu ích và tiện lợi nhất cũng sẽ không bao giờ thành hiện thực. Và nhà phát triển muốn lấy đoạn mã này sẽ phải tìm kiếm và sử dụng một giải pháp thay thế hoặc viết lại hoàn toàn đoạn mã đã được viết bởi một nhà phát triển mới làm quen trước đó. Đó là lý do tại sao, tốt nhất bạn nên đảm bảo trước rằng lập trình viên đang sử dụng đúng giấy phép và quan trọng nhất là phù hợp. Khám phá GitHub trong một video hướng dẫn trong 15 phút: https://youtu.be/JfpCicDUMKc

Giấy phép GitHub nào phù hợp với các điều kiện nhất định – làm thế nào để chọn?

Không thể có câu trả lời chính xác cho câu hỏi này, vì việc lựa chọn giấy phép chỉ phụ thuộc vào mục tiêu của dự án cũng như sở thích và mong muốn cá nhân của bản thân nhà phát triển. Như bạn có thể thấy, có rất nhiều giấy phép khác nhau trên GitHub, và quan trọng nhất, chúng đều miễn phí và được cung cấp công khai, có nghĩa là mọi lập trình viên đều có thể tìm thấy
giấy phép Nguồn mở chính xác phù hợp với dự án của mình. Nhưng, quan trọng nhất, chúng ta không được quên rằng giấy phép Nguồn mở không chỉ là một mã không có giấy phép.
Chọn giấy phép nào trên GitHub: các loại, so sánh Họ giấy phép trên GitHub [/ caption] Sau khi nghiên cứu một chút, bạn có thể thu thập tất cả giấy phép Nguồn mở và chia chúng thành ba nhóm chính lớn:

  1. Bảo vệ mạnh mẽ.
  2. Phòng thủ yếu kém.
  3. Cho phép.

Bảo vệ mạnh mẽ

Giấy phép bảo vệ mạnh mẽ thường là biến thể của GPL. Các giấy phép này nhất thiết phải yêu cầu cấp phép cho dự án, cũng như tiết lộ mã nguồn, ngay cả khi bất kỳ mã hoặc dự án nào sẽ được sử dụng hoặc đã được sử dụng như thế nào.

Phòng thủ yếu kém

Giấy phép phòng thủ yếu thường là biến thể của GPL thấp hơn. Trong đó sự khác biệt chính so với giấy phép cho phép là chỉ cần cấp phép chương trình theo giấy phép GPL, cũng như cung cấp mã nguồn mà không bị lỗi. Hơn nữa, nếu dự án của lập trình viên có chứa thư viện, nghĩa là liên kết tĩnh hoặc liên kết động theo giấy phép LGPL, thì nó cũng sẽ tương thích với bất kỳ giấy phép dự án nào của lập trình viên.
Chọn giấy phép nào trên GitHub: các loại, so sánh Trong đó loại giấy phép trên GitHub được chỉ định [/ caption]

Cho phép

Có một số lượng lớn các giấy phép được phép, trong số đó các giấy phép phổ biến nhất là MIT, Apache 2.0 và BSD. Với các thay đổi nhỏ, các giấy phép này có khả năng cho phép sử dụng mã cả trong các dự án Nguồn mở và cho các mục đích và dự án thương mại. Nhưng, trong trường hợp này, điều quan trọng cần nhớ là cần phải chỉ ra quyền tác giả của chương trình gốc.

Các giấy phép GitHub phổ biến khác

Ngoài ba nhóm giấy phép này, còn có những giấy phép khác, ví dụ, một trong những giấy phép hữu ích nhất khác là GPLv2 với phần mở rộng classpath. Giấy phép này cũng có thể được sử dụng trong cả các dự án Nguồn mở và các dự án và mục đích thương mại. Sự xuất hiện phổ biến nhất của nó là tại Oracle, công ty này sử dụng GPLv2 với phần mở rộng classpath để cấp phép cho các dự án và giải pháp Nguồn mở của mình. Giấy phép này khá quan trọng và hữu ích, chẳng hạn như giấy phép GPL thông thường không bao giờ có thể xử lý mã bytecode. Có nghĩa là, chúng có một mô tả đặc biệt về quá trình biên dịch và liên kết, điều này hoàn toàn không phù hợp với các ngôn ngữ lập trình thông dịch khác, những ngôn ngữ như vậy bao gồm ngôn ngữ Java phổ biến nhất.Đối với những trường hợp như vậy, giấy phép GPLv2 đặc biệt có phần mở rộng classpath đã được phát hành. Rốt cuộc, nó nói rất rõ ràng và rõ ràng rằng thư viện được phát hành theo giấy phép này có thể được sử dụng trong các dự án và mục đích thương mại với bất kỳ giấy phép nào khác.
Chọn giấy phép nào trên GitHub: các loại, so sánh Những điều bạn cần biết khác về
giấy phép GitHub .

Thêm giấy phép

Sau khi giấy phép cuối cùng được chọn, tất cả những gì còn lại là thêm nó vào thư mục gốc của dự án. Để thực hiện hành động này, bạn cần thêm giấy phép đã chọn dưới gốc dự án trong quá trình tạo dự án hoặc nói chung vào bất kỳ lúc nào khác. Nhưng ngay cả trong hành động này, dịch vụ web GitHub đã quản lý để chăm sóc người dùng của mình và họ đã thực hiện một cách khá thuận tiện để thêm giấy phép cuối cùng ngay cả khi bắt đầu dự án.
Chọn giấy phép nào trên GitHub: các loại, so sánh Tuy nhiên, rất tiếc đây không phải là tất cả, vì nhà phát triển hoặc lập trình viên cần phải kiểm tra tuyệt đối tất cả các phần phụ thuộc đã được sử dụng trong ý tưởng hoặc dự án của mình. Có nghĩa là, ngay cả khi một trong những phụ thuộc được phát hành theo giấy phép GPL, thì toàn bộ dự án của nhà phát triển phải tương thích với GPL. Để xác minh như vậy, các chương trình hoặc công cụ được tạo trước đó dự định thường được sử dụng cho việc này. Ví dụ: có một công cụ cho https://github.com/pivotal/LicenseFinder này:
Chọn giấy phép nào trên GitHub: các loại, so sánh Có thể nói cấp phép là một công việc khá tốn thời gian, nhưng đồng thời cũng là một hành động cần thiết cho vòng đời của một dự án hay bất kỳ ý tưởng nào của lập trình viên. Để chọn được giấy phép phù hợp, tiếc là bạn phải mất rất nhiều thời gian, tuy nhiên điều đó rất xứng đáng để dự án thành công. Tốt nhất nên đặt sự lựa chọn giấy phép ngay từ đầu khi viết chương trình, vì đã làm được điều này ngay từ đầu, bạn có thể hướng mọi nỗ lực của mình đi đúng hướng và viết một chương trình sẽ thành công và thuận lợi nhất. người dùng.

info
Rate author
Add a comment