يقارن محامو Oracle إعادة تنفيذ Java API في Android مع نسخ محتوى Harry Potter ، pdfفي وقت سابق من هذا العام ، ستنظر المحكمة العليا الأمريكية في قضية
أوراكل الهامة
ضد Google ، والتي ستحدد الوضع القانوني لواجهة برمجة التطبيقات وفقًا لقانون الملكية الفكرية. إذا اتخذت المحكمة جانب شركة أوراكل في الدعوى التي تبلغ قيمتها مليارات الدولارات ، فقد تخنق المنافسة وتوطد هيمنة عمالقة التكنولوجيا ، بما في ذلك جوجل نفسها.
في الوقت نفسه ، تم بناء أعمال Oracle في الأساس على تنفيذ لغة برمجة SQL التي طورتها شركة IBM ، وحتى الآن تقدم الشركة خدمة سحابية مع واجهات برمجة التطبيقات من Amazon S3 ، وهذا أمر طبيعي تمامًا. لقد كان إعادة تطبيق واجهة برمجة التطبيقات جزءًا طبيعيًا من تطور علوم الكمبيوتر منذ بداية هذه الصناعة.
تتهم أوراكل Google بالنسخ غير القانوني لواجهة برمجة تطبيقات Java ، بما في ذلك قائمة بالأوامر المسماة المرتبطة بهياكل النحو. يتوافق نظام التشغيل Android على وجه التحديد مع Java API لتسهيل مبرمجي Java نقل البرامج والمعرفة إلى النظام الأساسي الجديد. للقيام بذلك ، قام Android بنسخ أوامر Java API والهياكل النحوية المناسبة.
حجة Oracle هي أن مثل هذا "إعادة التنفيذ" لواجهة برمجة تطبيقات Java يمكن مقارنته بنسخ عمل المؤلف ، مثل الرواية الأدبية Harry Potter (هذا
مثال حقيقي استشهد به محامي Oracle ) ، وأن
Google تنتهك حقوق نشر Oracle لحقوق النشر على أسماء أوامر وهياكل Java API.لكن واجهة برمجة تطبيقات Java ليست هي واجهات برمجة التطبيقات الوحيدة ، وليست Android هي إعادة التنفيذ الوحيدة.
وقال تشارلز دوان ، مدير سياسة التكنولوجيا والابتكار في معهد R Street Institute ،
إن واجهات برمجة التطبيقات موجودة في كل مكان في صناعة تكنولوجيا المعلومات الحديثة ، وإعادة التنفيذ مهمة بشكل أساسي للحفاظ على المنافسة من أجل منع احتكار الشركات الكبيرة.
يقدم دوان مثالاً على نظام تخزين Amazon S3 الشهير. لتمكين كتابة واستخراج الملفات من S3 ، طورت Amazon
واجهة برمجة تطبيقات شاملة
ومفصلة للتفاعل مع الخدمة. على سبيل المثال ، للحصول على قائمة بالملفات المحفوظة (
ListObjects ) ، نرسل أمر GET مع المضيف ومعلمات نوع
ترميز النوع ورمز الاستمرار وتاريخ x-amz . للعمل مع Amazon S3 ، يجب أن يستخدم البرنامج هذه والعديد من أسماء المعلمات المحددة الأخرى تمامًا.
GET /?Delimiter=Delimiter&EncodingType=EncodingType&Marker=Marker&MaxKeys=MaxKeys&Prefix=Prefix HTTP/1.1 Host: Bucket.s3.amazonaws.com x-amz-request-payer: RequestPayer
تعتبر Amazon من الشركات الرائدة في سوق الخدمات السحابية ، ويقدم منافسوها إعادة تطبيق واجهة برمجة تطبيقات S3 ، في حين يتعين عليهم تقليد أسماء الفرق وعلامات المعلمات
وبادئات x-amz والبنية النحوية والتنظيم العام لواجهة برمجة تطبيقات S3. بمعنى آخر ، كل شيء ، وفقًا لشركة أوراكل ، محمي بموجب حقوق الطبع والنشر.
من بين الشركات التي تقدم نسخة من Amazon S3 API ،
هناك Oracle نفسها . للتوافق ، يقوم Amazon S3 Compatibility API بنسخ العديد من عناصر Amazon API ، وصولاً إلى علامات x-amz.

تؤكد Oracle أن شرعية إجراءاتها تستند إلى ترخيص مفتوح المصدر Apache 2.0 ، والذي يسمح بنسخ وتعديل الشفرة مجانًا. على سبيل المثال ، يأتي
Amazon SDK for Java أيضًا مع ترخيص Apache 2.0.
لكن السؤال هو ما إذا كان قانون الملكية الفكرية ينطبق بشكل عام على أشياء مثل API. هذا ما يجب أن تنشئه المحكمة العليا.
الذي اخترع API؟
ظهر مصطلح ومفهوم "مكتبة روتين فرعي" لأول مرة في كتاب أعده هيرمان جولدشتاين وجون فون نيومان ، "مشاكل التخطيط والترميز لأداة الحوسبة الإلكترونية" - الجزء الثاني ، المجلد الثالث (معهد الأبحاث المتقدمة بجامعة برينستون ، 1948)
.org . محتويات المجلد الثالث:

هذا هو الوصف الأول لمنهجية البرمجة لأجهزة الكمبيوتر مع تخزين البرامج في الذاكرة (لم يكن موجودًا من قبل). انتشرت على نطاق واسع في الجامعات ، والتي حاولت في ذلك الوقت إنشاء أجهزة الكمبيوتر الخاصة بهم. والأهم من ذلك ، يحتوي الكتاب على فكرة أساسية:
ستستخدم معظم البرامج عمليات مشتركة ، وستقلل المكتبات التي تحتوي على إجراءات روتينية من مقدار الرموز والأخطاء الجديدة . قام موريس ويلكس بوضع هذه الفكرة في صيغتها النهائية ووضعها موضع التنفيذ في آلة EDSAC ، والتي حصل عليها على جائزة تورينج لعام 1967.
مكتبة EDSAC الروتينية على اليساركانت الخطوة التالية هي إنشاء وظائف عالية المستوى وواجهات برمجية كاملة ، وهو ما فعله موريس ويلكس وديفيد ويلر في كتاب "تحضير البرامج لجهاز كمبيوتر رقمي إلكتروني" (1951).
ظهر مصطلح
Application Program Interface (API) نفسه في مكان ما في أواخر الستينيات.
مؤلف العرض التقديمي
"تاريخ موجز لموضوع واجهة برمجة التطبيقات" يقدم Joshua Block عدة أمثلة عن واجهات البرنامج ومجموعات التعليمات ومكتبات البرامج الفرعية: كيف تم إنشاؤها واستخدامها لاحقًا. والفكرة هي أن إعادة استخدام هو معنى API. لهذا السبب تم إنشاؤها في المقام الأول. وكان لدى المطورين دائمًا فرصة لنسخ وإعادة صياغة واجهات برمجة التطبيقات الخاصة بالآخرين:
المصدر: " نبذة تاريخية موجزة عن واجهة برمجة التطبيقات"نسخ وإعادة استخدام واجهات برمجة التطبيقات (المكتبات ، مجموعات التعليمات) ليس صحيحًا فحسب ، ولكن يُنصح باستخدام منهجية البرمجة مباشرةً في شرائع علوم الكمبيوتر. حتى قبل نسخ واجهات برمجة S3 ، أوراكل نفسها فعلت هذا عدة مرات. علاوة على ذلك ، تم بناء أعمال Oracle في الأصل على تنفيذ لغة برمجة SQL التي طورتها شركة IBM. أول منتج رئيسي من Oracle كان DBMS ، تم نسخه إلى حد كبير من IBM System R. في هذه الحالة ، نحن نتحدث عن إعادة تطبيق SQL كـ "API قياسي" لـ DBMS.
يمكن أن يؤدي تراكب حقوق الملكية الفكرية على واجهات برمجة التطبيقات إلى إنشاء حقل ألغام قانوني سيعاني منه الجميع. تقوم واجهات برمجة التطبيقات أيضًا بتنفيذ
الخدمات السحابية الأخرى . تتضمن العديد من المعايير الفنية ، مثل Wi-Fi وبروتوكولات الإنترنت ، واجهات برمجة التطبيقات. يتم بالضرورة إعادة تنفيذ واجهات البرنامج بشكل ما على كل كمبيوتر وخادم على الإنترنت. يمكن لنظرية حقوق النشر الخاصة بـ Oracle تحويل كل ما تقوم به مع الكمبيوتر تقريبًا إلى فعل غير قانوني.
لتجنب هذه النتائج البعيدة المدى ، حاولت أوراكل ومحكمة الاستئناف ، التي أيدت حججها ، حصر انتهاك حقوق الطبع والنشر في عدد قليل من عمليات إعادة تنفيذ واجهة برمجة التطبيقات التي كانت "غير متوافقة" مع النص الأصلي. لكن إعادة التنفيذ الجزئية
شائعة أيضًا . حتى في نسختها من S3 API ، لاحظت Oracle العديد من "الاختلافات" وعدم التوافق مع واجهات برمجة تطبيقات Amazon الأصلية.
يتمثل الخطر الرئيسي لدعوى Oracle في أنها قد تمنع شركات التكنولوجيا الصغيرة من إنشاء إصدارات أنظمة متوافقة مع الأنظمة الأساسية المهيمنة مثل S3. بدون هذا التوافق ، سيتم حظر المبرمجين تقريبًا في عروض هذه الشركة.
يمكن لممثلي الصناعة والمطورين أن يأملوا فقط في أن ينتصر العقل ، وسيعرف
القضاة أساسيات البرمجة .