על API וזכויות יוצרים, לא מה שחשבתם.

פסק הדין של בית המשפט הפדראלי לערעורים בעניין 13-1021 Oracle v. Google הוצג בתקשורת בסוף השבוע האחרון באור קצת שגוי, וחשוב להעיר עליו. פסק הדין עצמו שגוי לטעמי, אבל לא בצורה קיצונית כפי שהתקשורת מציגה אותו.

הסיפור הוא כזה: באיזור שנת 2005 ענקית המדיה גוגל רכשה חברה בשם אנדרואיד שהיום כולם מכירים, אבל אז היתה קצת מוזרה. אנדרואיד פיתחה מערכת הפעלה למכשירים ניידים. בשביל לאפשר למערכת הזו פופולריות, גוגל רצתה להשתמש בשפת Java שכתובה בצורה ייחודית (לפחות אז): כל אחד יכול לכתוב קוד פעם אחת, והתוכנה תרוץ פחות או יותר אותו דבר על כל מכשיר. כלומר, המתכנתים לא היו צריכים להתאים את התוכנה כל פעם למכשירים שונים. על פי פסק הדין, גוגל ניהלה משא ומתן להשתמש במערכת Java, אך לא הצליחה להגיע להסכמות מסחריות עם Oracle. לכן, גוגל החליטה לכתוב את שפת Java מהתחלה, תחת שם שונה (Dalvik) אבל כאשר שמות הפקודות והפונקציונאליות שלהן תהיה זהה.

למי שלא מתכנת וקורא את הפוסט הזה (כי מתכנתים יצחקו בצורה קטלנית על ההסבר הפשטני), הסיפור הוא כזה: נניח שאני רוצה לתכנת פונקציה שמחברת שני מספרים ולקרוא לה "Add", אני מגדיר פונקציית תכנות שנקראת Add(a,b) שמוציאה פלט של החיבור של שני המספרים. בשביל לעשות את זה, אני צריך להגדיר לפונקציה מהו הקלט שהיא תקבל (המספרים לחבר) ומהו הפלט שהיא תוציא (התוצאה).

גוגל העתיקה את השמות האלו משפת Java ב37 פונקציות שונות, שרובן קשורות לפונקציונאליות מתמטית. בפסק הדין של בית המשפט המחוזי גוגל זכתה ובית המשפט פסק כי הפונקציות אינן זכאיות להגנת זכויות יוצרים. בית המשפט קבע כי גוגל לא העתיקה את הפונקציה עצמה (כלומר את דרך הביצוע של פעולת החיבור, לצורך העניין) אלא רק את מאפייני הקלט והפלט שלה, ושכפלה את הממשק של Oracle ועל כן לא התקיימה הפרת זכויות יוצרים. אורקל, כמובן, ערערה.

בית המשפט לערעורים פסק (לטעמי בצורה שגויה) כי עצם העתקת קוד ההצהרה היא הפרת זכויות יוצרים. כלומר, בית המשפט לא פסק ששכפול השפה הוא ההפרה, אלא העובדה שגוגל העתיקה חלק מהקוד שנכתב על ידי אורקל (הקוד שמצהיר על מהו הקלט והפלט). כלומר, לו גוגל היתה מייצרת את הממשק בצורה שונה (הגם שהיה מקבל את אותו הקלט והפלט) הרי שהיא לא היתה מפרה את הזכויות של אורקל.

לתוצאה שונה הגיע בית משפט אירופי בפסק דין אחר (SAS Institute Inc. v World Programming Ltd) בית המשפט לצדק של אנגליה ווויילס פסק כי שפת תכנות, לכשעצמה, לא יכולה להיות בסיס להגנת זכויות יוצרים, והעתקה של פונקציונאליות של השפה לא תהווה הפרה של זכויות:

"  Based on the evidence which was adduced at trial, and my general understanding of the position, my provisional view is that a programming language such as the SAS Language is not capable of being a work. A dictionary and a grammar are works which describe a language. Such works record, and thereby fix, the elements of the language they describe: the meanings of its words and its syntax. It does not follow that the language is a work. Rather, the language is the material from which works (including dictionaries and grammars) may be created. The evolutionary or organic aspect of language can be left on one side for the moment, since it is clear that it is possible to create a language from scratch. Even when a language is created from scratch, however, what it amounts to is a system of rules for the generation and recognition of meaningful statements. Programming languages such as the SAS Language are no different in this respect. "

בעצם, במקרה שלנו, אורקל קיבלה הגנה על שפת התכנות שלה (Java) והמבנה התחבירי. בית המשפט מכיר בכך שיש קשיים בעניין. אולם, בית המשפט לא פסק כי בעצם הגישה לממשקי תכנות (API) יש בכדי להפר את הזכויות. חוסר הבנת הנקודה הזו היא מה שמביא לכותרות שגויות שקובעות שעצם הגישה לAPI יכולה להוות הפרה של זכויות יוצרים, או ששכפול הפקודות. כאשר מישהו רוצה להעתיק פונקציונאליות של תוכנה, הכלל הוא שהפונקציונאליות עצמה אינה הפרה של זכויות יוצרים, ובישראל אפילו, אולי, יכולה להכנס תחת החסינות של סעיף 24 לחוק הקובע ש"השגת מידע הדרוש לצורך התאמת מערכת מחשב או תוכנת מחשב אחרת, המפותחת באופן עצמאי, כך שתוכל לפעול עם תוכנת מחשב זו" לא תהיה הפרת זכויות יוצרים.

ההבדל בין המקרה של SAS לבין אורקל הוא משמעותי: בSAS ככל הנראה לא בוצעה העתקה של קוד המקור של השפה (בניגוד לכאן). ולכן, ההנדסה לאחור של השפה על ידי גוגל היתה יכולה למנוע לפחות חלק מפסק הדין.

One thought on “על API וזכויות יוצרים, לא מה שחשבתם.

Comments are closed.