Saya bukan pengacara .
Namun, Anda benar - benar bebas menggunakan 3 baris kode berikut dalam apa pun yang Anda tulis:
for (i = 0; i < 5; i++) {
printf("I am not a lawyer!\n");
}
.... Itu murni kode fungsional (tidak fungsional dalam arti yang mungkin Anda pikirkan, tetapi fungsional berdasarkan fungsinya). Sebenarnya tidak mencapai apa pun; itu hanya melatih konstruksi bahasa. Ini mendukung hal-hal yang berfungsi, Anda mengetiknya cukup sering sehingga Anda memiliki makro untuk memproduksinya. Tapi apa yang Anda bicarakan bukanlah 'penggunaan yang adil', apakah ini hak cipta atau lisensi di tempat pertama?
Satu-satunya jawaban yang benar di sini adalah bertanya kepada pengacara. Sepuluh baris kode dari apa ? Algoritma pemilahan yang sangat khusus? Semacam firmware? Salah satu dari jutaan file parser konfigurasi yang telah beredar sejak awal usenet? Kode yang dihasilkan oleh program lain yang menghasilkan kelas basis data berdasarkan skema DB Anda?
Tapi, buktikan kepada saya bahwa Anda menulis itu untuk loop, atau beralih pernyataan, dan tidak hanya menyalin milik saya. Pada titik di mana pernyataan berhenti terdengar tidak masuk akal, Anda mungkin pada titik di mana Anda harus berbicara dengan pengacara, atau setidaknya manajer teknik Anda / PM / dll.
Saya berpartisipasi dalam beberapa proyek sumber terbuka / gratis, beberapa di antaranya memerlukan penugasan hak cipta untuk apa pun yang tidak 'sepele'. Semua dari mereka yang memiliki persyaratan ini mendefinisikan 'sepele' menjadi sepuluh baris kode yang ditambahkan atau dimodifikasi. Tapi itu hanya tes lakmus yang sewenang-wenang untuk menetapkan semacam standar; satu baris perbandingan byte yang membengkokkan pikiran jauh lebih mungkin untuk dikenakan hak cipta daripada saklar 10 baris.
Galeri snippet saya terdiri dari ratusan fungsi, semuanya memiliki informasi penulis asli dalam komentar gaya doxygen, serta info lisensi (jika ada, sebagian besar hanya domain publik).
Kecuali jika jelas sepele (seperti dalam contoh lucu saya), saya tidak akan menggunakan kembali kode kecuali saya tahu bahwa saya memiliki izin untuk melakukannya. Saya juga selalu mengikuti aturan lisensi apa pun yang berlaku. Dan untuk membantu masa depan saya (atau pengelola masa depan), saya suka meninggalkan tautan ke tempat saya menemukan barang dalam komentar, bahkan jika itu adalah nama bola tar yang saya nyalakan di stik USB jika saya meninggalkan perusahaan.