Liệu nó có ý nghĩa để kiểm tra đơn vị giấy phép?


12

Tôi tự hỏi nếu có bất kỳ lợi ích / rủi ro của (không) đặt giấy phép cho mã kiểm tra mà chủ yếu bao gồm các bài kiểm tra đơn vị. Bạn nghĩ sao?

Tôi đặc biệt quan tâm đến việc cấp phép theo (L) GPL, Apache, MIT và BSD.

EDIT : Giả định là mã không thử nghiệm đã được xuất bản theo một số giấy phép, nhưng mã thử nghiệm thì không, vì vậy câu hỏi đặt ra là có nên xuất bản nó hay không và liệu có nên đặt cùng một giấy phép cho nó hay không.


Các bài kiểm tra sẽ không được coi là sự thật / dữ liệu, không thuộc bản quyền hoặc giấy phép ở nơi đầu tiên? Việc sao chép một APIhợp pháp và tôi đoán nó cũng hợp pháp khi sử dụng các thử nghiệm tương tự để xác minh rằng việc triển khai là đúng?
endolith 17/12/13

Câu trả lời:


10

Tôi ngạc nhiên rằng không ai đã đề cập đến điều này rồi, nhưng nếu bạn không đính kèm giấy phép vào mã của mình, cho dù đó là sản phẩm hay mã kiểm tra, thì những người khác không có quyền đối với mã .

Mã cấp phép là về việc trao quyền cho người khác mà họ thường không có. Mã kiểm tra của bạn được tự động bao phủ bởi bản quyền (ở hầu hết các quốc gia trên thế giới) ngay cả khi bạn không đính kèm một thông báo bản quyền rõ ràng. Có bản quyền, người khác không thể sử dụng, phân phối hoặc xuất phát từ mã đó.

Bằng cách đính kèm giấy phép vào mã kiểm tra của bạn, bạn cung cấp cho mọi người quyền sử dụng, phân phối và / hoặc sửa đổi mã đó theo các điều khoản của giấy phép.

Tôi khuyên bạn nên phân phối mã kiểm tra với mã sản phẩm của mình, theo cùng một giấy phép. Điều này là đơn giản nhất cho tất cả mọi người. Điều đó cũng có nghĩa là nếu mọi người muốn gửi các bản vá cho bạn, thì họ có thể chạy các bài kiểm tra đơn vị của bạn trước khi họ gửi cho bạn một bản vá, điều này sẽ giúp loại bỏ các bản vá phá vỡ mọi thứ.


15

Trong thế giới thương mại, hầu hết các công ty không chỉ tính phí cho sản phẩm cốt lõi mà còn cho sự hỗ trợ. Hỗ trợ thường xuyên nhất liên quan đến bất kỳ hình thức trợ giúp nào bằng công cụ hoặc hỗ trợ cá nhân, để có thể làm cho sản phẩm có thể sử dụng được hoặc giải quyết mọi vấn đề liên quan đến sản phẩm.

Bằng mã thông báo này, mã để kiểm tra sản phẩm đủ điều kiện tương đương một công cụ hỗ trợ và là quyền sở hữu trí tuệ theo quyền riêng của nó. Vì vậy, nó xứng đáng có giấy phép của riêng nó.


9

Tại sao bạn tách mã và kiểm tra?

Tôi thích một bó mã và kiểm tra. Và gói này sẽ nhận được giấy phép tương tự.

Nếu ai đó muốn nhận được hai lần tiền, thì bạn có thể thực hiện hai gói - mỗi gói có giấy phép. Đối với phần mềm miễn phí, tôi thấy không có lý do cho hai gói (trừ khi đó là vấn đề kích thước).


6

Mã kiểm tra có rất nhiều giá trị, vì nó cho phép người dùng kiểm tra xem giải pháp của bạn có hoạt động trong một môi trường nhất định không. Trong công việc của tôi (phần mềm nhúng) bộ kiểm tra là một phần của hợp đồng. Bạn nên xuất bản nó với cùng một giấy phép, bởi vì cách sử dụng là tương tự nhau:

  • nếu ai đó chỉ sử dụng mã của bạn, thì anh ta sẽ chạy thử nghiệm

  • nếu ai đó muốn sửa đổi mã, anh ta cũng có thể phải sửa đổi một số thử nghiệm


2

IANAL, tuy nhiên:

  1. Nếu bạn đang cấp phép mã của mình theo GPL, thì thực tế các bài kiểm tra đơn vị của bạn cũng là GPL vì chúng khá vô dụng nếu không có mã chính
  2. Nếu bạn đang sử dụng Apache / BSD, điều khoản 'SỬ DỤNG TẠI RỦI RO RIÊNG CỦA BẠN'. Tôi sẽ tát một tệp giấy phép với toàn bộ dự án và để người dùng tìm hiểu xem đó là mã hay mã kiểm tra.
  3. Nếu bạn sử dụng giấy phép thương mại và giới hạn quyền truy cập vào mã, tại sao bạn lại xuất bản bài kiểm tra của mình ngay từ đầu? Nếu bạn muốn chắc chắn, hãy đặt 'B READNG CÁCH ĐỌC MÃ KIỂM TRA, BẠN ĐÃ ĐỒNG Ý ĐỂ KIẾM giấy phép MẮT CỦA BẠN' và bạn sẽ ổn.

1

Các GCC trình biên dịch (chủ yếu là GPLv3 được cấp phép) có một bộ kiểm tra khá rộng, được phân phối cùng với mã nguồn. (có lẽ một số tệp thử nghiệm thuộc phạm vi công cộng, tôi thực sự không biết tình trạng pháp lý cá nhân của họ).

Tại sao bạn muốn phân phối bộ thử nghiệm riêng biệt với sản phẩm của bạn?


0

Nó có thể là một mô hình kinh doanh khả thi vì vậy hãy phát hành một chương trình dưới dạng phần mềm miễn phí (GPL hoặc bất cứ thứ gì), nhưng đơn vị chứng nhận thử nghiệm theo giấy phép thương mại. Bằng cách đó, nếu ai đó muốn phát hành phiên bản cải tiến của phần mềm của bạn (ví dụ: được nhúng trong thiết bị), anh ta có thể được khuyến khích mua giấy phép thử nghiệm đơn vị để phát triển nhanh hơn và an toàn hơn.


0

Nếu kiểm tra đơn vị của bạn được thực hiện tốt thì chúng là một kế hoạch chi tiết để tái tạo phần mềm của bạn. Nếu bạn không cấp phép cho chúng tương đương với mã bạn đang mời ai đó đi cùng và thực hiện lại bất cứ điều gì bạn đã làm. Nếu bạn ổn với điều đó thì đừng bận tâm đến việc cấp phép cho họ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.