Mewn cyfrifiadura, casgliad o god (neu sgript ddigidol) sy'n ddarllenadwy gan berson yw cod ffynhonnell (source code); mae'n iaith rhaglennu ar ffurf testun plaen fel arfer. Mae cod ffynhonnell rhaglen wedi'i gynllunio'n arbennig i hwyluso gwaith rhaglenwyr cyfrifiadur, ac sy'n rhoi cyfarwyddiadau i'r cyfrifiadur. Yn aml, trawsnewidir y cod ffynhonnell i god-peiriant deuaidd (binary code) sy'n ddealladwy gan y cyfrifiadur. Yna, caiff y cod-peiriant ei storio er mwyn ei weithredu naill ai ar unwaith neu rywdro'n ddiweddarach.

Enghraifft o god ffynhonnell: dyma'r cod-wici sy'n cyhoeddi'r wybodaeth ar y sgrin, o flaen eich llygaid. Mae 'bawd' yma'n rheoli maint y ddelwedd yn yr erthygl.

Yn ei gyfanrwydd, mae'r cod yn ffurfio rhaglen gyfrifiadurol a gedwir ar ffurf ffeil-destun ar ddisg caled y cyfrifiadur.

Diffiniad golygu

Mae Prosiect Linux yn diffinio cod ffynhonnell fel:[1]

Cod ffynhonnell (a gyfeirir ato'n aml fel "y cod" neu'r "ffynhonnell") yw'r fersiwn o feddalwedd fel y sgwennwyd ef yn wreiddiol h.y. wedi'i deipio i'r cyfrifiadur gan fod dynol, mewn testun syml, plaen ar ffurf nodau alffaniwmerig, darllenadwy.[2]

 
Cod ffynhonnell mewn C, sy'n iaith raglennu. Cyfarwyddiadau real sydd yma i gyhoeddi ar y sgrin y geiriau "Helo, World"; dyma'n union wnaeth Brian Kernighan o Bell Laboratories, am y tro cyntaf, yn 1974.[3]

Gall y diffiniad, fodd bynnag, fod yn ehangach na hyn, gan gynnwys cod peiriant a nodiannau (notations) mewn ieithoedd graffigol, ac nid yw'r naill na'r llall ar ffurf testun. Dyma enghraifft o hyn allan o erthygl a gyflwynwyd ar y gynhadledd IEEE flynyddol ac ar Ddadansoddi a Thrin y Cod Ffynhonnell:[4]

I fod yn eglur: ystyr 'cod ffynhonnell' yw unrhyw system feddalwedd sy'n ddisgrifiad gweithredadwy. Mae'n cynnwys cod peiriant, ieithoedd cyfrifiadurol uwch a systemau graffigol gweithredadwy.

Saesneg gwreiddiol: For the purpose of clarity "source code" is taken to mean any fully executable description of a software system. It is therefore so construed as to include machine code, very high level languages and executable graphical representations of systems.[5]

Y gyfraith golygu

Ceir amrywiaeth eang o ddeddfau gwahanol o fewn gwahanol wledydd.

Hyd at 1974 roedd meddalwedd yn Unol Daleithiau America yn y parth cyhoeddus. Wedi hynny dechreuwyd rhoi cyfyngiadau hawlfraint arno, fel a wneir gyda thestun a llyfr.[6] Newidiwyd hyn yn 1974 pan gyhoeddodd US Commission on New Technological Uses of Copyrighted Works (CONTU) mai gwaith creadigol yr awdur yw "rhaglenni cyfrifiadurol", ac felly y gellir rhoi hawlfraint arnynt.[7][8]

Aethpwyd a hyn gam ymhellach yn 1983 mewn achos llys Apple v. Franklin yn yr UDA, pan ddeddfwyd fod yr uchod hefyd yn wir am god gwrthrych (object code) a bod y Ddeddf Hawlfraint yn rhoi statws gwaith llenyddol i raglenni cyfrifiaduron. Yn 1999, yn yr achos Bernstein v. United States deddfwyd y gellir ystyried cod ffynhonnell yn fath o ryddid mynegiant (free speech) sy'n cael ei warchod gan gyfraith gwlad.

Gweler hefyd golygu

Cyfeiriadau golygu

  1. The Linux Information Project. "Source Code Definition".
  2. Y gwreiddiol, yn Saesneg: Source code (also referred to as source or code) is the version of software as it is originally written (i.e., typed into a computer) by a human in plain text (i.e., human readable alphanumeric characters).
  3. "Programming in C: A Tutorial" (PDF). Archifwyd o'r gwreiddiol (PDF) ar 23 Chwefror 2015. Unknown parameter |deadurl= ignored (help)
  4. SCAM Working Conference, 2001–2010.
  5. Why Source Code Analysis and Manipulation Will Always Be Important gan Mark Harman, 10th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2010). Timişoara, Romania, 12–13 Medi 2010.
  6. P., Liu, Joseph; L., Dogan, Stacey (2005). "Copyright Law and Subject Matter Specificity: The Case of Computer Software" (yn en). New York University Annual Survey of American Law 61 (2). https://lawdigitalcommons.bc.edu/lsfp/536/.
  7. Apple Computer, Inc. v. Franklin Computer Corporation Puts the Byte Back into Copyright Protection for Computer Programs in Golden Gate University Law Review Volume 14, Issue 2, Article 3 by Jan L. Nussbaum (January 1984)
  8. Lemley, Menell, Merges and Samuelson. Software and Internet Law, t. 34.