لماذا تصر قوقل على استخدام لغة جافا في نظام أندرويد

السلام عليكم ورحمة اللهjava_logo

نتابع كثيراً أخبار بين الفترة واﻷخرى تداعيات قضية أوراكل مع قوقل في استخدام اﻷخيرة لغة جافا في نظام التشغيل أندرويد، مع أن لغة جافا لغة مجانية. لكن لا أريد أن اتكلم من ناحية قانونية، بل فنية. فالناحية القانونية شديدة التعقيد وربما يصعب فهمها وإلا كانت قضية واضحة لا تستمر كل هذه الفترة بدون القضاء برأي واضح فيها.

ربما كان من الخطأ استخدام قوقل لهذه اللغة أو واجهاتها البرمجية، والتي هي مجانية لكن ليست كلها حرة. كان من الممكن لشركة في ضخامة قوقل أن تكون لها واجهة برمجية معتمدة على لغة برمجة أكثر حرية مثل لغة سي، أو يمكنها أن تقوم بكتابة لغة برمجة أو واجهة برمجية جديدة معتمدة على لغة موجودة. ايضاً لا أريد أن اتكلم عن الماضي وأنه كان قرار خطأ في ذلك الوقت. دعونا نجد الحلول نيابة عن قوقل.

Golang

حسب رأيي – كمبرمج بسيط- أن الحل يكمن في ان تشرع قوقل في إدخال واجهات برمجية جديدة في نظام أندرويد يعتمد على لغة Go مثلاً، مع اﻹبقاء على واجهة الجافا كنوع من الحفاظ على البرامج الموجودة وأدوات التطوير الموجودة. ثم تقوم بعمل مسابقة كما فعلت في السابق لعمل برامج جديدة للموبايل بهذه اللغة، أو نقل برامج أندرويد إلى لغة Go بدلاً من جافا.

يمكن لشركة قوقل بناء إصدار جديد يحتوى على الواجهة البرمجية وتقوم بتشجيع المبرمجين لاستخدام هذه اللغة بدلاً عن جافا واستخدام أداة تطوير جديدة بدلاً من Android Studio. ولا ننسى أن شركة قوقل قد ساهمت في انتشار برمجة جافا للموبايل أكثر مما فعلت أوراكل أو شركة صن عندما قامت ببناء Java ME المخصصة لأجهزة الموبايل.

في رأيي اﻹصرار على استخدام لغة غير حرة تابعة لشركة منافسة مثل أوراكل كمن لديه أراضي زراعية شاسعة ويصر على زراعة أشجار معمرة في مزرعة جاره، ثم يقوم جاره برفع قضية عليه بأنه استخدم أرضه.

ماهو رأي القُرّاء الكرام، هل الموضوع أعقد مما يبدو عليه أم هُناك تفاصيل غير واضحة للعيان تمنع قوقل من استخدام الحل الفني وتصر على الحل القانوني.

Advertisements

9 أفكار على ”لماذا تصر قوقل على استخدام لغة جافا في نظام أندرويد

  1. ليست لي خلفية عن الموضوع، كما أنه يوجد الكثير من العوامل التي تكون خافية عني ويصعب معها الرؤية السليمة. لكن فيما أتذكر، أن المسألة في بداياتها كانت مسألة سباق مع الزمن لدخول السوق، وقد وجدت قوقل حلا جاهزا متمثلا في اندرويد الذي سبق وأن طورته شركة ناشئة فاشترته منها لتعتمده.
    يمكن لقوقل أن تعتمد أية لغة برمجية كبديل، بل توجد فعلا بدائل لبرمجة تطبيقات اندرويد native مثل الحلول التي تقدمها RemObjects باستخدام سي شارب أو دلفي أو سويفت. ولكن المسألة أكبر من كونها قضية لغة برمجية، أولا:
    الكم الهائل والمتشابك من المكتبات المكونة لنظام التشغيل، والتي تحتاج لوقت وجهد لإعادة إنتاجها.
    ثانيا: فئة المبرمجين وأية لغة تتناسب مع توجهات أكثرهم، وأكثر جاذبة لهم.
    دارت مؤخرا إشاعات عن إمكانية أن تعتمد قوقل لغة سويفت. ربما تكون اللغة مناسبة.

  2. استخدامهم لغة سويف التي طورتها أبل يمكن أن يعني أن أبل أفضل من قوقل وأن قوقل فقط تحاكي أو تمشى وراء أبل. اﻷفضل لهم أن يستخدموا تقنية بعيدة الملكية عن منافسيهم مثل أبل وميكروسوفت وحتى فيسبوك.

  3. لا اعتقد أن C# حرة، اصبحت فقط مجانية، مثلها مثل جافا، ولو أني قرأت عنها في النت في اليوم الذي اطلقته ميكروسوت مجاناًأنها اصبحت أكثر حرية من لغة جافا وذلك حسب الرخصة التي تم اختيارها لها.
    رخصة جافا حسب ويكيبيديا:
    GNU General Public License, Java Community Process
    أما رخصة C#:
    CLR is proprietary, Mono compiler is dual GPLv3, MIT/X11 and libraries are LGPLv2, DotGNU is dual GPL and LGPLv2

  4. أعتقد بالعموم أن اللغات البرمجية لا ملكية فكرية عليها، ما قد يكون خاضعا للملكية الفكرية هو التنفيذ Implementation أي المترجمات والمكتبات وما في حكمها مثلما تفضّلت وسردتها في التعليق أعلاه.
    فيما يخصّ برمجة الاندرويد أعجبني الحل الذي تقدمه RemObjects بأن تبرمج بلغة واحدة لعدة منصات. هذه سلسلة مقالات يشرح كاتبها استخدام دلفي لانتاج نفس الربنامج للمنصات الرئيسية الثلاث:
    http://www.deltics.co.nz/blog/posts/2393

  5. شكراً جزيلاً أبو أياس:
    نود أن نبين أن قوقل عندما أستخدمت الجافا ليس لها خيار آخر و لكن سرعان ما أدركت بأنه يجب عليها بناء لغة تعتمد عليها بشكل أفضل و قامت بإستحداث لغة Go و التي سوف تعتمد عليها قوقل بشكل كبير واضعة في الإعتبار كل توجهاتها القريبة و البعيدة و لأن اللغة الآن أصبحت تتنامى بشكل ملحوظ وسوف تكبر سريعاً كما فعلت جافا من 1995 و حتى اليوم

  6. مرحباً بك أخ أمين
    نتمنى أن تنجح لغة Go لكن الفرصة اﻵن مختلفة تماماً عن عام 1995، حيث قدمت جافا آلتها اﻹفتراضية والتي قامت بعزلها عن نظام التشغيل، وايضاً كانت لغة مجانية في حين لم تكن اللغات الموجودة في ذلك الحين مجانية، فهي بذلك قدمت شيئين جديدن للعالم. كذلك فإن اﻹستثمار في البرامج لم يكن كبيراً – أي من ناحية حجم الكود- لذلك التغيير من لغة إلى لغة أخرى كان سهلاً.
    اﻵن قوقل تحتاج لمجهود كبير لإنجاح لغة Go وإقناع موظفيها بالعمل به – حيث أن قوقل تعمل بعدد من لغات البرمجة إلى اﻵن، مثل جافا وسي وسي++، حسب علمي.
    لكن لحسن الحظ فإن برمجة الموبايل تختلف اختلافاً كبيراً عن برمجة التطبيقات اﻷخرى واهم اختلاف هو أن المستخدم أقل ارتباطاً بنظام التشغيل بعكس مستخدم الحاسوب. كذلك فإن برامج الموبايل تحتاج لمخدمات في النت لتغذيتها بالمعلومات، ويمكن كتابة برامج هذه المخدمات بأي لغة برمجة، فيتبقى برنامج الموبايل الذي يُمثل واجهة المستخدم فقط.

  7. عدة اسباب جعلت غوغل يتجه إلى الجافا اهمها السلامة (safe language and safe runtime ) ;
    بالنسبة للحلول اظن انه ستكون جد مكلفة مقارنة مع الحل القانوني، على العموم اوراكل خسرت الدعوة القضاىية ضد غوغل و انتهت المشكلة !
    حاليا الغة الاكثر استعمالا لبرمجة الموبيلات هي الجافاسكريبت (nativescript , react native, cordova …) و الان بعد شراء ميكروزفت ل xamarin و فتحه للعموم اصبح كل شيئ وارد !!?

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s