صفحة 1
المقدمة
لا يخفى على أحد ما تحظى به برامج الحاسب الآلي من أهمية في شتى مناحي الحياة العلمية، وقيامها بالكثير من المهام والواجبات بسرعة فائقة ودقة متناهية، لذلك فإنه من الواجب أن تتم مسايرة التقدم المتسارع لهذه البرامج بتوفير الحماية القانونية اللازمة لها، لأن الميزات الكثيرة للحاسب الآلي جعلت الإستعانة به واستخدامه، حاجة ضرورية في كافة المجالات وأنظمة الاتصالات وذلك بظهور الإنترنت التي جعلت العالم بمثابة قرية صغيرة، فأي إنسان يستطيع التجول في جميع العالم عبر هذه الشبكة وهو جالس في بيته دون عناء أو تعب.ومع ظهور الحاسب الآلي، الذي بدأ بالعمليات الحسابية، ثم تطور ليشمل تخزين المعلومات واستيعابها وتجميعها وترتيبها وإمكانية إسترجاعها بسرعه فائقة ودقة متناهية، وأصبحت المعلومات في متناول الأيدي بأقل جهد وأقصر وقت.
إن الاستخدامات المبتكرة والمميزة للحاسب الآلي لا يرجع الفضل فيها لجهاز الحاسب ذاته ولا للمقومات المادية بل يعود إلى عبقرية العاملين في مجال البرامج، فالبرنامج من الحاسب بمثابة الروح من الجسد فبدون البرامج يكون الحاسب الآلي قطعة من الحديد عديمة الفائدة.
ولبرمجيات الحاسب الآلي أهميةٌ كبيرةٌ لأي شركةٍ، سواءً أكانت هذه الشركة منتجة لها من حيث كونها متخصصة في صناعة البرمجيات وتطويرها أو كانت تعتمد عليها لأجل تطوير آلية سير العمل فيها. وبما أن لهذه البرمجيات هذه القيمة المالية الكبيرة، فلا بد أن يمنحها القانون شيئاً من الحماية التي تمنع الآخرين من الاعتداء على حقوق مالكيها، وتمكِّنهم من استثمارها واستغلالها بما يسمح باستعادة الأموال الطائلة التي وُظِّفت في عملية تطويرها
تتعدد أساليب الحماية القانونية للبرمجيات، ويستند كل أسلوب إلى واحدٍ من القوانين. وفي الواقع لا يمكن الاعتماد على طريقة واحدة لتحقيق الحماية القانونية الكاملة لبرنامج الحاسب الآلي، فهذه الطرق والأساليب تتكامل مع بعضها البعض، ويسدُّ كل واحدٍ منها ما قد يوجد من نقص في الأساليب الأخرى، ومن المفضل للحصول على الحماية القانونية الكاملة لبرمحيات الحاسب الآلي الاعتماد على جميع هذه الأساليب معاً.
نتناول في هذا الكتاب موضوع الحماية القانونية لبرامج الحاسب الآلي من خلال تناولنا لحمايتها عن طريق قواعد الملكية الفكرية "حق المؤلف". أما في الجزء الثاني، سنتناول بحول الله مسألة الحماية القانونية عن طريق العقود الواردة على برامج الحاسب الآلي " عقود البرمجيات".
بالنسبة لحماية البرنامج من خلال حقوق الملكية الفكرية، نجد أنها تعتبر من أسهل طرق الحماية وأقلها تكلفةً، وهي متعلقة بقوانين حماية الملكية الفكرية نظراً لطبيعة هذه البرمجيات وكونها من نتاج الفكر. فحق المؤلف يحمي جميع الأعمال ذات الطبيعة الأدبية والفنية، وقد نصت بعض الاتفاقيات الدولية كاتفاقية حقوق الملكية الفكرية المرتبطة بالتجارة، على أن برمجيات الحاسب الآلي تخضع للحماية بموجب "حق المؤلف" باعتبارها أعمالاً أدبية. ولا يحمي حق المؤلف نص البرنامج فقط، وإنما تشمل الحماية جميع الرسوم والتصاميم التي قد تكون مرافقةً له وتجميع وتنسيق المعلومات التي يتضمنها.
صفحة 2
الفصل الأول
ماهية برامج الحاسب الآلي من الناحيتين الفنية والقانونية
المبحث الأول :المفهوم الفني لبرامج الحاسب الآلي
يتكون جهاز الحاسب الآلي من جزئين أساسيين وهما:-المعدات (Hardware) وهي مجموعة من الأجهزة المرتبطة بالحاسوب والتي تحتوي على مجموعة من الوحدات المختلفة مثل وحدة المعالجة المركزية ووحدات الإدخال والإخراج ووحدات التخزين ويشكل هذا الجزء المادي للكمبيوتر. والبرمجيات (Software) وهي عبارةعن مجموعة البرامجSet of Programs والوثائق (Documentations) اللازمة لتشغيل الحاسب الآلي وتنظيم عمل وحداته، وهذه تشكل الجانب غير المادي وغير الملموس للحاسب الآلي.
برنامج الحاسب الآلي (Computer Program) هو اصطلاح يطلق على "مجموعة التعليمات والأوامر المعبر عنها بلغة معينة والمعدة للاستعمال في الحاسب الآلي بهدف حل مشكلة أو مسألة معينة".
برنامج الحاسب الآلي هو بمثابة العقل المفكر للإنسان بل أكثر، فلولاه لما تمكن الحاسب الآلي من تقديم خدماته في شتى الميادين ويعود له الفضل في بث الحياة في الآلآت الصماء.
برنامج الحاسب الآلي (Computer Program) هو مجموعة من الأوامر والإرشادات التي تحدد للكمبيوتر العمليات التي ينفذها بتسلسل وخطوات محددة. هذه التعليمات تُحمل على وسيط "Media" معين يمكن قراءته عن طريق الآلة، وحينئذ يمكن للبرنامج عن طريق معالجة البيانات أن يؤدي وظائف معينة ويحقق النتائج المطلوبة منه، والبرنامج بهذا المعنى هو أهم "مصنفات الحاسب الآلي"، وهو غالباً المقصود عند الحديث عن هذه المصنفات.
برمجيات الحاسب الآلي (Computer Software) هو اصطلاح أعم وأشمل من الناحية الفنية من تعبير برامج الحاسب الآلي (ComputerPrograms) إذ يدخل في مفهوم "البرمجيات" أمور أخرى غير البرنامج نفسه وإن كانت وثيقة الصلة به، مثل الوثائق والمستندات والمواد التي يطلق عليها "المواد المساندة" "Supporting Materials" وهي مواد مكتوبة في صورة كتيبات أو منشورات تطبع الآن على الوسائط الإلكترونية كالأقراص المرنة "Floppy Disk" أو الأقراص المدمجة "CD" ومهمتها شرح البرنامج وتيسيير فهمه ومساعدة مستعمليه على كيفية تشغيله والإستفادة منه وكيفية معالجة ما قد يظهر فيه من أخطاء. ويطلق على هذه المواد أحياناً "كتيب إرشادات الإستعمال" "User Manual".
ماهية البرمجيات
البرمجيات (Software) هي ليست فقط برامج الحاسب الآلي Computer Program ولكنها أيضاً كل التوثيق المرتبط بها (Documentation) وبيانات التجهيز والتكوين (Configatation Data) اللازمة لجعل البرامج تعمل بصورة صحيحة.يدخل ضمن تعبير "البرمجيات" كافة الوثائق والمستندات التي تنتج في مرحلة تصميم البرنامج وتطويره، سواء كانت مكتوبة بشكل مرسل أو في صورة أو مخططات "Schematic" أو في أي صورة أخرى". هذه المواد تشرح كيفية التوصل إلى البرنامج وتتضمن معلومات مهمة عن تصميمه ومراحل إنتاجه ويطلق على هذه الطائفة من الوثائق تعبير "وصف البرنامج" "Program Description".
يتكون نظام البرمجيات (Software System) عادةً من:-
• عدد من البرامج المنفصلة Separate Program
• ملفات تكوين تستخدم لإعداد هذه البرامجConfigatation Files
• مستندات توثيق النظام التي تصف هيكل النظام ووثائق المستخدم ومواقع الويب System Document
صفحة 3
أنواع برمجيات الحاسب الآلي:-
هنالك نوعان من المنتجات البرمجية:-1/ برمجيات عامة شاملة (Generic):- وهي نظم مستغلة تنتج بواسطة شركات وتباع في السوق لأي عميل، وأحياناً يطلق عليها اسم البرمجيات المغلفة مثل قواعد البيانات ومعالجة النصوص وحزم الرسوم.
2/ برمجيات جاهزة ( تفصيل أو مخصصة) Bespoke or Customized:-
وهي نظم مخصصة لعميل معين يطلب تجهيزها، ويتم تطويرها بواسطة شركة أو مطور نظم خصيصا ًلهذا العميل.
الفرق الهام بين هذين النوعين هو أن النوع العام (Generic) الذي تنتجه شركة هو نوع يتم وضع مواصفاته وخصائصه وواجهات استخدامه ووظائفه بواسطة الشركة، بينما النوع الثاني النوع المجهز، فيتم تحدد مواصفاته بواسطة العميل.
تقسم برمجيات الحاسب الآلي من الناحية الفنية إلى نوعين:-
1/ البرامج التشغيلية (Operating System):-
هي مجموعة من البرامج الجاهزة تتحكم بعمل كافة الوحدات الأساسية المكونة للحاسب الآلي، وما تتضمنه هذه الوحدات من بيانات مثل برنامج (Windows) الصادر من شركة مايكروسوفت.
2/ البرامج التطبيقية(Application Software) :-
هي تلك البرامج المصممة لتلبية حاجات الإنسان المتعددة مثل أنظمة البنوك ونظم المحاسبة ونظام الرواتب وأجور العاملين والبرامج المنظمة لحركة سير الخطوط الجوية والبحرية، والبرامج المنظمة لحركة سوق الأوراق المالية (البورصة) فيما يتعلق بتداول الأسهم والسندات وغيرها من البرامج. وهي عبارة عن مجموعة من التعليمات أو التوجيهات المكتوبة بلغة معينة "أي أحدى لغات البرمجة" بقصد التوصل إلى نتيجة محددة، وهذه البرامج إما أن تكون بلغة المصدر أو بلغة الآلة.
لغات البرمجة
يتعامل الإنسان مع الحاسب الآلي بإستخدام تعليمات وأوامر محددة، تكتب بصيغة محددة وحسب قواعد محددة، حيث تجمع هذه التعليمات والأوامر في برنامج يمكن تنفيذه عند الحاجة إليه.تقسم لغات البرمجة إلى:-
1/ لغة الآلة، وتكتب تعليماتها بإستخدام النظام الثنائي وتمتاز عادةً بصعوبة كتابتها ومتابعتها.
2/ اللغات الرمزية، حيث تستخدم رموز محددة لصياغة التعليمات. وتتطلب الكتابة معرفة واسعة بمكونات الحاسب الآلي وأجزائه الداخلية وعادةً ما تستخدم هذه اللغات من قبل مختصين في مجال علم الحاسب الآلي أو هندسته، ومن الأمثلة على هذه اللغات"لغة التجميع “Assembly”
3 / لغات البرمجة عالية المستوى، وقد سميت هذه اللغات بهذا الاسم نظراً لقربها من لغة الإنسان، فهذه اللغة تستخدم تعليمات وأوامر واضحة يمكن بسهولة فهمها ومراجعتها، ومن أهم هذه اللغات لغة بيسك ولغة باسكال ولغة C وغيرها.
إن إختيار اللغة المحددة يعتمد على طبيعة الوظيفة المراد تنفيذها، فمثلاً يمكن استخدام لغة بيسك في كتابة البرامج التعليمية، أما لغة كوبل فيمكن استخدامها في النواحي التجارية، أما لغة سي فيمكن استخدامها في معالجة الصور والروسومات والعمليات الحسابية، أي أن اختيار اللغة يعتمد على خصائص هذه اللغة ومميزاتها وما توفره من إمكانيات لمعالجة البيانات.
صفحة 4
يسمى البرنامج المكتوب بلغة البرمجة بالبرنامج المصدري (Source) وحتى يتم تنفيذ هذا البرنامج لابد من تحويله إلى برنامج هدفي (Object) ويؤدي هذه المهمة برنامج خاص يسمى المترجم ( Compiler) حيث يقوم هذا البرنامج باستعراض تعليمات البرنامج المصدري للتأكد من خلوه من الأخطاء الإملائية والأخطاء النحوية ومن ثم يبنى البرنامج الهدفي.
البرنامج المصدري Source Program:-
وهو البرنامج في صورته الأصلية، أي في صورته الأولى التي كتب بها أول مرة بإحدى اللغات التي تكتب بها البرامج عادةً، ويطلق عليه عادةً "الصورة القابلة للقراءة آدميا ًHuman Readable Form"، ويطلق عليه أيضاً أصل البرنامج.
البرنامج الهدفيObject Program :-
الصورة الأصلية أو الأولية للبرنامج التي أشرنا إليها في البند السابق يجب أن تحول " بطريقة ما وبأداة ما" إلى صورة أخرى يستطيع جهاز الكمبيوتر أن يقرأها ويتفاعل معها وينفذها. هذه الصورة أو النسخة الجديدة من البرنامج هي ما يعرف "ببرنامج الهدف" ويطلق عليها "الصورة القابلة للقراءة عن طريق الآلة (Machine Readable Form) فنسخة برنامج الهدف هي نسخة البرنامج التي تُحٌمل فعلا في جهاز الحاسب الآلي ويقرأها الجهاز وينفذها. وعندما يطلق اصطلاح "نسخة" أو"نسخ" بوصفه مصدراً فإن المقصود- في الغالب هو برنامج الهدف.
يُنظر إلى "برنامج المصدر" على أنه من الأصول والموجودات الثمينة للشركات العاملة في مجال الكمبيوتر ونظم المعلومات وذلك للأسباب الآتية:-
أ/ الاستثمارات المادية والفكرية التي تنفق في إنتاجه وتطويره.
ب/ أهميته القصوى في إنتاج نسخ "برنامج الهدف" وصيانة هذه النسخ وإنتاج نسخ مطورة ومعدلة منها، لذا تبذل هذه الشركات عناية فائقة في حمايته والمحافظة عليه وعدم تعريض أسرار التصاميم الخاصة به للتسرب أو الإفشاء. وتضع الشركات المنتجة لبرامج الحاسب الآلي لنفسها سياسات خاصة في كيفية حماية أصول برامجها والوثائق المتعلقة به وفيما يلي نموذج من هذه السياسات لمعرفة كيف يمكن تأمين برنامج المصدر:-
أ/ الإحتفاظ بأصل البرنامج وعدم تسليمه للعميل إلا في حالات استثنائية محددة سلفاً، أما الذي يسلم للعميل فهو نسخة برنامج الهدف وهي نسخة البرنامج التي يرخص للعميل بإستعمالها تحت شروط معينة يتضمنها غالباً عقد يسمى عقد الترخيص" وسيُعالج عقد الترخيص بصورة مفصلة في الجزء الثاني من هذا المؤلف ضمن "عقود البرمجيات".
ب/ اتخاذ احتياطات وإجراءات أمنية داخلية مشددة تحول دون اطلاع الآخرين أياً كانوا على برنامج المصدر، ومن ذلك أيضاً حفظه والوثائق المتعلقة به في خزآئن آمنة ضد الحريق والسرقة والتلف والتأكد من عدم وصول أحد إليها.
ت/ الإحتفاظ بنسخة من أصل البرنامج والمواد المتعلقة به في مكان آخر أمين " كوديعة في أحد خزآئن البنك" خشية تعرض النسخة الموجودة في الشركة للتلف أو الضياع.
ث/ في حالة رغبة العميل في تأمين وسيلة للحصول على نسخة من برنامج المصدر فيمكن تحقيق رغبته عن طريق إيداع نسخة من البرنامج مع وثائقه لدى طرف ثالث باسلوب (Escrow) وهي طريقة تتيح للعميل الحصول على برنامج المصدر مع وثائقه إذا تحققت ظروف وشروط معينة.
ج/ في حالة رغبة العميل امتلاك برنامج المصدر ( وذلك في غير الحالات التي يكون فيها التعاقد على أساس تطوير البرنامج لحساب العميل) فلا شك أن الأسعار سوف تزيد كثيراً عن الأسعار التي يرخص بها برنامج الهدف.
ح/ عدم السماح للموظفين بالاطلاع على برنامج المصدر، إلا أوُلئك الذين تقضي طبيعة عملهم ذلك. وتعد الشركة قائمة باسماء الموظفين المرخص لهم بالإطلاع على برنامج المصدر وتوقع معهم تعهداً مستقلاً بالحفاظ على سرية المعلومات المتضمنة فيه وعدم إطلاع الآخرين عليها.
في حالة تحميل برنامج المصدر على جهاز كمبيوتر لأي سبب، يجب تشفير الوصول إليه وحمايته عن طريق كلمة سر”Password” تعطى فقط للمرخص لهم من الموظفين بالوصول إليه، ويجب تغيير هذه الكلمة باستمرار، ويدون في سجل خاص أسماء الأشخاص الذين استعملوا الكلمة وتاريخ ووقت الدخول على البرنامج.
البرنامج المصدري Source Program:-
وهو البرنامج في صورته الأصلية، أي في صورته الأولى التي كتب بها أول مرة بإحدى اللغات التي تكتب بها البرامج عادةً، ويطلق عليه عادةً "الصورة القابلة للقراءة آدميا ًHuman Readable Form"، ويطلق عليه أيضاً أصل البرنامج.
البرنامج الهدفيObject Program :-
الصورة الأصلية أو الأولية للبرنامج التي أشرنا إليها في البند السابق يجب أن تحول " بطريقة ما وبأداة ما" إلى صورة أخرى يستطيع جهاز الكمبيوتر أن يقرأها ويتفاعل معها وينفذها. هذه الصورة أو النسخة الجديدة من البرنامج هي ما يعرف "ببرنامج الهدف" ويطلق عليها "الصورة القابلة للقراءة عن طريق الآلة (Machine Readable Form) فنسخة برنامج الهدف هي نسخة البرنامج التي تُحٌمل فعلا في جهاز الحاسب الآلي ويقرأها الجهاز وينفذها. وعندما يطلق اصطلاح "نسخة" أو"نسخ" بوصفه مصدراً فإن المقصود- في الغالب هو برنامج الهدف.
يُنظر إلى "برنامج المصدر" على أنه من الأصول والموجودات الثمينة للشركات العاملة في مجال الكمبيوتر ونظم المعلومات وذلك للأسباب الآتية:-
أ/ الاستثمارات المادية والفكرية التي تنفق في إنتاجه وتطويره.
ب/ أهميته القصوى في إنتاج نسخ "برنامج الهدف" وصيانة هذه النسخ وإنتاج نسخ مطورة ومعدلة منها، لذا تبذل هذه الشركات عناية فائقة في حمايته والمحافظة عليه وعدم تعريض أسرار التصاميم الخاصة به للتسرب أو الإفشاء. وتضع الشركات المنتجة لبرامج الحاسب الآلي لنفسها سياسات خاصة في كيفية حماية أصول برامجها والوثائق المتعلقة به وفيما يلي نموذج من هذه السياسات لمعرفة كيف يمكن تأمين برنامج المصدر:-
أ/ الإحتفاظ بأصل البرنامج وعدم تسليمه للعميل إلا في حالات استثنائية محددة سلفاً، أما الذي يسلم للعميل فهو نسخة برنامج الهدف وهي نسخة البرنامج التي يرخص للعميل بإستعمالها تحت شروط معينة يتضمنها غالباً عقد يسمى عقد الترخيص" وسيُعالج عقد الترخيص بصورة مفصلة في الجزء الثاني من هذا المؤلف ضمن "عقود البرمجيات".
ب/ اتخاذ احتياطات وإجراءات أمنية داخلية مشددة تحول دون اطلاع الآخرين أياً كانوا على برنامج المصدر، ومن ذلك أيضاً حفظه والوثائق المتعلقة به في خزآئن آمنة ضد الحريق والسرقة والتلف والتأكد من عدم وصول أحد إليها.
ت/ الإحتفاظ بنسخة من أصل البرنامج والمواد المتعلقة به في مكان آخر أمين " كوديعة في أحد خزآئن البنك" خشية تعرض النسخة الموجودة في الشركة للتلف أو الضياع.
ث/ في حالة رغبة العميل في تأمين وسيلة للحصول على نسخة من برنامج المصدر فيمكن تحقيق رغبته عن طريق إيداع نسخة من البرنامج مع وثائقه لدى طرف ثالث باسلوب (Escrow) وهي طريقة تتيح للعميل الحصول على برنامج المصدر مع وثائقه إذا تحققت ظروف وشروط معينة.
ج/ في حالة رغبة العميل امتلاك برنامج المصدر ( وذلك في غير الحالات التي يكون فيها التعاقد على أساس تطوير البرنامج لحساب العميل) فلا شك أن الأسعار سوف تزيد كثيراً عن الأسعار التي يرخص بها برنامج الهدف.
ح/ عدم السماح للموظفين بالاطلاع على برنامج المصدر، إلا أوُلئك الذين تقضي طبيعة عملهم ذلك. وتعد الشركة قائمة باسماء الموظفين المرخص لهم بالإطلاع على برنامج المصدر وتوقع معهم تعهداً مستقلاً بالحفاظ على سرية المعلومات المتضمنة فيه وعدم إطلاع الآخرين عليها.
في حالة تحميل برنامج المصدر على جهاز كمبيوتر لأي سبب، يجب تشفير الوصول إليه وحمايته عن طريق كلمة سر”Password” تعطى فقط للمرخص لهم من الموظفين بالوصول إليه، ويجب تغيير هذه الكلمة باستمرار، ويدون في سجل خاص أسماء الأشخاص الذين استعملوا الكلمة وتاريخ ووقت الدخول على البرنامج.
صفحة 5
عمليات البرمجيات
Software processesعمليات البرمجة هي مجموعة من النشاطات التي تقود إلى إنتاج المنتج البرمجي. هذه النشاطات قد تكون تطوير النظام البرمجي من البداية في شكل برنامج مكتوب بإحدى لغات البرمجة القياسية مثل جافا أو C، ومن ثم تنتج البرامج الجديدة تطويراً أو تعديلاً لتلك البرامج السابقة.
عمليات البرمجة هي مجموعة من الأنشطة المترابطة المطلوبة لتطوير النظم البرمجية وإنتاجها. الأنشطة العامة هي:-
توصيف المتطلبات "تحديد المواصفات" والتصميم والتنفيذ والإختبار والتحقق والصيانة والإرتقاء. وتتمثل هذه الأنشطة في نموذج عمليات البرمجيات “Software Processe Model”.
عند طلب زبون تطوير نظام " برنامج" لحل مشكلة مثل نظام أجور أو مخزون أو إدارة متجر أو موقع تجارة إلكترونية، تُتبع الخطوات التالية لبناء هذا النظام:-
1/ عقد إجتماع مع العميل لتحديد متطلباته، هذه المتطلبات تشمل وصف النظام بجميع مكوناته.
2/ وضع تصميم عام للنظام يحقق متطلبات العميل، وعرض التصميم على العميل ومراجعته لأخذ موافقته عليه.
3/ بعد موافقة العميل على التصميم يتم وضع التصميمات التفصيلية لأجزاء المشروع.
4/ كتابة شفرة البرنامج.
5/ اختبار البرنامج وفحصه وإعادة مراجعة المتطلبات التي وصفها العميل للتأكد من تحققها في البرنامج وإزالة علل البرنامج وأعطاله.
6/ تسليم النظام إلى العميل.
7/ بعد تسلم العميل للنظام قد تظهر بعض المشاكل أو الأخطاء التي لم تظهر خلال مرحلة الفحص والاختبار ويقوم مطور البرنامج بإصلاح هذه المشاكل "صيانة النظام".
8/ قد يحتاج البرنامج للتطوير والتغيير بارتقاء البرنامج.
تمر عمليات بناء أي منتج برمجي بمراحل يطلق عليها اسم " دورة حياة تطوير البرمجيات أو عمليات البرمجيات Software Development Lifecycle وتتضمن دورة حياة تطوير البرمجيات الأنشطة أو المراحل التالية:-
1/ تحديد المتطلبات وتعريفها Requiremrnt Analysis & Definition
2/ تصميم النظام Design
3/ كتابة البرنامج (Implimentation) كتابة الشفرة (Coding)
4/ اختبار وحدات البرنامج (Unit Testing) واختبار النظام System Testing
5/ تسليم النظام (releasing or System Delivery)
6/ صيانة النظام(Maintenance)
تتضمن كل مرحلة من هذه المراحل العديد من الخطوات أو النشاطات، ولكل منها مدخلاتها ومخرجاتها وتأثيرها على جودة المنتج النهائي "البرنامج".
صفحة 6
تبدأ دورة حياة المنتج البرمجي بأول خطوة لتحديد المتطلبات وتتدرج حتى آخر خطوة عند تسليم البرنامج وصيانته، عملياً ليس من الضروري الالتزام بهذه الخطوات بالتتابع وبدقة فقد تختلف أشكال أو نماذج تتابع العمليات.
هنالك نماذج كثيرة لتطوير البرامج بأسماء مختلفة تشترك في مراحل دورة حياة المنتج البرمجي، وقد يتم دمج بعض المراحل أو يتم توسيع مرحلة منها إلى عدة مراحل.
وفيما يلي هذه المراحل المتعاقبة بشئ من التوضيح:-
1/ متطلبات مواصفات البرمجياتSoftware Requirement & Specifications
هي عملية وضع الخدمات المطلوبة وتحديدها والقيود المفروضة على تشغيل النظام وتطويره، وتتضمن عملية هندسية المتطلبات: دراسة الجدوى (Feasibilty Study) واستنباط المتطلبات وتحليلها (Requirement elicitation & analysis وتحديد مواصفات المتطلباتRequirement Specification ( والتحقق من المتطلبات Requirement Validiation ينتج عن دراسة الجدوى "تقرير جدوى" ، وينتج عن استنباط المتطلبات وتحليلها تقديم "نماذج النظام".
عند توصيف المتطلبات يجري تحديد متطلبات المستخدم والنظام، وبعد التحقق من المتطلبات يتم توثيق المتطلبات Requirement Document الناتجة عن متطلبات النظام والمستخدم.
2/ تصميم البرمجيات وتنفيذها Design & Implimantation
هي العملية الناتجة عن تحويل " مواصفات النظام" إلى " نظام تنفيذي"، وفي تصميم البرمجيات يتم تصميم " هيكل البرمجيات" التي تحقق المواصفات. أما التنفيذ فيعني: تحويل هذا الهيكل إلى برامج تنفيذية Executable Program . وتتصل أنشطة التصميم والتنفيذ ببعضها البعض اتصالا وثيقاً، وقد تتداخل فيما بينها. وتتضمن أنشطة عمليات التصميم: التصميم المعماري (ArchitecturalDesign) وتصميم واجهة الإستخدام (InterfaceDesign) وتصميم المكونات (Component Design) وتصميم هيكل البيانات Data Strcture Design وتصميم الألغورثيم”Algorithm Design”
3/ إكتشاف العلل وتصحيحها Debugging
تعد هذه المرحلة هي مرحلة ترجمة التصميم إلى برنامج واستبعاد الأخطاء من البرنامج. ينفذ المبرمج بعض برامج الاختبارات لاكتشاف الأعطال في البرنامج وحذف هذه الأعطال في عملية اكتشاف وتصحيح العلل. وتبدأ عملية اكتشاف العلل وتصحيحها بتحديد المشكلة أو الخطأ في البرنامجLcate Error يتبعها تصميم إصلاح العطل (Design Error Repaire) ثم إصلاح الخطأ(Repaire) وإعادة اختبار البرنامج (Re- Test Program) .
4/ التحقق من البرمجيات Software Validiation
مقصود بثبوت الصحة والتأكيد والتحقق هو بيان أن النظام يطابق المواصفات ويلبي متطلبات الزبون، وتتضمن فحص العمليات وإعادة النظر فيها واختبار النظام. ويتضمن إختبار النظام تنفيذ النظام بحالات اختبار مشتقة من مواصفات البيانات الحقيقية التي ستتم معالجتها بواسطة هذاالنظام.
5/ عمليات الفحص والإختباراتTesting Processe
تتضمن إختبار المكونات واختبار الوحدات واختبار المركب البرمجي (Module Testing) وإختبار التجميع واختبار القبول. ويحتوي اختبار التجميع (Intigration Testing) على إختبار النظم الفرعية وإختبار النظام. ويعني إختبار القبول (Accepting Testing) الإختبار الذي يقوم به المستخدم.
6/ إرتقاء البرمجيات Software Evolution
تتأصل المرونة في النظام وبالتالي يمكن أن تتغير، فكلما تغيرت المتطلبات بتغيير البيئة فإن البرمجيات التي تدعم هذه الأعمال يجب أن تتضمن التغييرات الجديدة، وأن تتغير تبعاً لذلك. وبالرغم من التمييز بين "التطوير"و"الإرتقاء والصيانة" ووجود حدود فاصلة بينهما فإن هنالك تزايداً لعدم اتصال الموضوع لأن القلة القليلة من النظم جديدة تماماً. يتم ارتقاء النظام بتعريف المتطلبات وتقويم النظم الموجودة (Assess Existing Systems) وإقتراح تغييرات النظام(Processe System Changes) وتعديل النظام (ModefySystem) وصولاً للنظام الجديد(NewSystem) .
ولأغراض توضيح نطاق الحماية القانونية لبرامج الحاسب الآلي يقسم المستشار فاروق الحفناوي خطوات إعداد البرنامج إلى ثلاث مراحل:-
الأولى:- فكرة البرنامج:-
وهي الخاطر الذي يقدح في ذهن المؤلف ويمثل نواة أو فكرة البرنامج. والبرنامج في هذه المرحلة مجرد فكرة في خيال المؤلف، ولذا فإن القانون لا يحمي البرنامج في هذه المرحلة، على أساس أن القانون يحمي التعبير عن الفكرة ولا يحمي الفكرة نفسها.
الثانية:- مرحلة إعداد البرنامج:-
وتتضمن خطوات تنفيذ الفكرة وإخراجها إلى حيز الوجود، وتبدأ هذه الخطوات بإعداد المواصفات الفنية والتصميم والبناء وإعداد الخوارزم وخرائط التدقيق وكتابة برنامج المصدر، إلى غير ذلك من الخطوات التحضيرية اللازمة لإنتاج برنامج الهدف. ولاعتبارات عديدة منها توفير حماية فعالة لبرنامج الحاسب الآلي في صورته النهائية، فإن معظم القوانين تمد حمايتها إلى الوثائق والمستندات والأعمال التي تنتج في هذه المرحلة.
الثالثة:- مرحلة برنامج الهدف:-
وهو البرنامج في صورته القابلة للإستخدام والتداول والإستفادة منه في عالم الأعمال والتسلية أو غير ذلك. والبرنامج في هذه المرحلة يمثل الصورة الرئيسية المعنية بالحماية القانونية، وإنما يسحب القانون حمايته إلى منتجات المرحلة السابقة تدعيما وتعزيزا لحماية البرنامج في صورته الرئيسية.
هنالك نماذج كثيرة لتطوير البرامج بأسماء مختلفة تشترك في مراحل دورة حياة المنتج البرمجي، وقد يتم دمج بعض المراحل أو يتم توسيع مرحلة منها إلى عدة مراحل.
وفيما يلي هذه المراحل المتعاقبة بشئ من التوضيح:-
1/ متطلبات مواصفات البرمجياتSoftware Requirement & Specifications
هي عملية وضع الخدمات المطلوبة وتحديدها والقيود المفروضة على تشغيل النظام وتطويره، وتتضمن عملية هندسية المتطلبات: دراسة الجدوى (Feasibilty Study) واستنباط المتطلبات وتحليلها (Requirement elicitation & analysis وتحديد مواصفات المتطلباتRequirement Specification ( والتحقق من المتطلبات Requirement Validiation ينتج عن دراسة الجدوى "تقرير جدوى" ، وينتج عن استنباط المتطلبات وتحليلها تقديم "نماذج النظام".
عند توصيف المتطلبات يجري تحديد متطلبات المستخدم والنظام، وبعد التحقق من المتطلبات يتم توثيق المتطلبات Requirement Document الناتجة عن متطلبات النظام والمستخدم.
2/ تصميم البرمجيات وتنفيذها Design & Implimantation
هي العملية الناتجة عن تحويل " مواصفات النظام" إلى " نظام تنفيذي"، وفي تصميم البرمجيات يتم تصميم " هيكل البرمجيات" التي تحقق المواصفات. أما التنفيذ فيعني: تحويل هذا الهيكل إلى برامج تنفيذية Executable Program . وتتصل أنشطة التصميم والتنفيذ ببعضها البعض اتصالا وثيقاً، وقد تتداخل فيما بينها. وتتضمن أنشطة عمليات التصميم: التصميم المعماري (ArchitecturalDesign) وتصميم واجهة الإستخدام (InterfaceDesign) وتصميم المكونات (Component Design) وتصميم هيكل البيانات Data Strcture Design وتصميم الألغورثيم”Algorithm Design”
3/ إكتشاف العلل وتصحيحها Debugging
تعد هذه المرحلة هي مرحلة ترجمة التصميم إلى برنامج واستبعاد الأخطاء من البرنامج. ينفذ المبرمج بعض برامج الاختبارات لاكتشاف الأعطال في البرنامج وحذف هذه الأعطال في عملية اكتشاف وتصحيح العلل. وتبدأ عملية اكتشاف العلل وتصحيحها بتحديد المشكلة أو الخطأ في البرنامجLcate Error يتبعها تصميم إصلاح العطل (Design Error Repaire) ثم إصلاح الخطأ(Repaire) وإعادة اختبار البرنامج (Re- Test Program) .
4/ التحقق من البرمجيات Software Validiation
مقصود بثبوت الصحة والتأكيد والتحقق هو بيان أن النظام يطابق المواصفات ويلبي متطلبات الزبون، وتتضمن فحص العمليات وإعادة النظر فيها واختبار النظام. ويتضمن إختبار النظام تنفيذ النظام بحالات اختبار مشتقة من مواصفات البيانات الحقيقية التي ستتم معالجتها بواسطة هذاالنظام.
5/ عمليات الفحص والإختباراتTesting Processe
تتضمن إختبار المكونات واختبار الوحدات واختبار المركب البرمجي (Module Testing) وإختبار التجميع واختبار القبول. ويحتوي اختبار التجميع (Intigration Testing) على إختبار النظم الفرعية وإختبار النظام. ويعني إختبار القبول (Accepting Testing) الإختبار الذي يقوم به المستخدم.
6/ إرتقاء البرمجيات Software Evolution
تتأصل المرونة في النظام وبالتالي يمكن أن تتغير، فكلما تغيرت المتطلبات بتغيير البيئة فإن البرمجيات التي تدعم هذه الأعمال يجب أن تتضمن التغييرات الجديدة، وأن تتغير تبعاً لذلك. وبالرغم من التمييز بين "التطوير"و"الإرتقاء والصيانة" ووجود حدود فاصلة بينهما فإن هنالك تزايداً لعدم اتصال الموضوع لأن القلة القليلة من النظم جديدة تماماً. يتم ارتقاء النظام بتعريف المتطلبات وتقويم النظم الموجودة (Assess Existing Systems) وإقتراح تغييرات النظام(Processe System Changes) وتعديل النظام (ModefySystem) وصولاً للنظام الجديد(NewSystem) .
ولأغراض توضيح نطاق الحماية القانونية لبرامج الحاسب الآلي يقسم المستشار فاروق الحفناوي خطوات إعداد البرنامج إلى ثلاث مراحل:-
الأولى:- فكرة البرنامج:-
وهي الخاطر الذي يقدح في ذهن المؤلف ويمثل نواة أو فكرة البرنامج. والبرنامج في هذه المرحلة مجرد فكرة في خيال المؤلف، ولذا فإن القانون لا يحمي البرنامج في هذه المرحلة، على أساس أن القانون يحمي التعبير عن الفكرة ولا يحمي الفكرة نفسها.
الثانية:- مرحلة إعداد البرنامج:-
وتتضمن خطوات تنفيذ الفكرة وإخراجها إلى حيز الوجود، وتبدأ هذه الخطوات بإعداد المواصفات الفنية والتصميم والبناء وإعداد الخوارزم وخرائط التدقيق وكتابة برنامج المصدر، إلى غير ذلك من الخطوات التحضيرية اللازمة لإنتاج برنامج الهدف. ولاعتبارات عديدة منها توفير حماية فعالة لبرنامج الحاسب الآلي في صورته النهائية، فإن معظم القوانين تمد حمايتها إلى الوثائق والمستندات والأعمال التي تنتج في هذه المرحلة.
الثالثة:- مرحلة برنامج الهدف:-
وهو البرنامج في صورته القابلة للإستخدام والتداول والإستفادة منه في عالم الأعمال والتسلية أو غير ذلك. والبرنامج في هذه المرحلة يمثل الصورة الرئيسية المعنية بالحماية القانونية، وإنما يسحب القانون حمايته إلى منتجات المرحلة السابقة تدعيما وتعزيزا لحماية البرنامج في صورته الرئيسية.
صفحة 7
المبحث الثاني: المفهوم التشريعي لبرنامج الحاسب الآلي
على الرغم مما سارت عليه تشريعات الملكية الفكرية في مختلف دول العالم من إدراجها لبرامج الحاسب الآلي ضمن المصنفات المشمولة بالحماية بموجب أحكامها، إلا أنها قد تباينت في تعريفها لبرامج الحاسب الآلي تبايناً واضحاً.عرف قانون حق المؤلف السوداني لسنة 1996م "برنامج الحاسب" الآلي بأنه:- "مجموعة التعليمات الصادرة بأي لغة أو شفرة أو رمز سواء أكانت شاملة للمعلومات ذات الصلة بها أم لا ويكون القصد منها جعل الجهاز ذا مقدرة على حفظها وترتيب المعلومات بصورة تؤدي إلى تحقيق إنجاز وظيفة أو نتيجة أو مهمة معينة".
ولم يذكر المشرع اليمني في المادة رقم (2) من قانون الحق الفكري رقم 19 لسنة 1994م "برنامج الحاسب الآلي" من ضمن المصنفات التي تتمتع بالحماية. ويبرر د. سعد محمد سعد ذلك ذلك بأن اليمن لم تنضم إلى المنظمة العالمية للتجارة "جات" وبالتالي لم تلتزم بالاتفاقيات الخاصة بالمنظمة وبالتحديد الخاصة بالجوانب التجارية المتصلة بحقوق الملكية الفكرية "Trips" التي اعتبرت برامج الحاسب الآلي من المصنفات الأدبية.
أما القانون الأردني لحق المؤلف رقم 22 لسنة 1992م فقد ذكر في المادة (3/ب/8) منه أن برامج الحاسب الآلي سواء أكانت بلغة المصدر أو الآلة مشمولة بالحماية وفقاً لهذا القانون.
القانون المصري لحماية حقوق الملكية الفكرية رقم (82) لسنة 2002م في المادة (140/2) جاء فيه " أنه تتمتع بحماية هذا القانون حقوق المؤلفين على مؤلفاتهم الأدبية والفنية وبوجه خاص المصنفات الآتية: .....(2) برامج الحاسب الآلي.
كما عرف القانون البحريني لسنة 1993م بشأن حماية حقوق المؤلف في المادة (2/ي) "برامج الحاسب الآلي" بأنها " مجموعة العبارات والتعليمات المعبر عنها بأية لغة أو رمز أو إشارة والمعدة للإستعمال في الحاسب بطريق مباشر أو غير مباشر بهدف التوصل إلى نتائجمحددة".
وعرف القانون الأمريكي الخاص بحق المؤلف لسنة 1980م برامج الحاسب الآلي بأنها " مجموعة من التوجيهات أو التعليمات الموجهة للإستعمال المباشر وغير المباشر داخل حاسب إلكتروني بغرض التوصول إلى نتائج معينة".
وأيضاً قانون المعاملات والتجارة الإلكترونية لإمارة دبي رقم (2) لسنة 2002م عرف برنامج الحاسب الآلي بأنه " مجموعة بيانات أو تعليمات تستعمل بطريقة مباشرة أو غير مباشرة في نظام معالجة معلومات إلكتروني لغرض إيجاد أو الوصول إلى نتائج محددة".
على صعيد الاتفاقيات الدولية الخاصة بحق المؤلفـ، فقد عرفت اتفاقية المنظمة العالمية للملكية الفكرية برامج الحاسب الآلي بأنها " مجموعة من التعليمات التي تسمح، بعد نقلها على دعامة تستطيع الآلة قرأتها، بيان أو أداء أو إنجاز وظيفة أو مهمة أو نتيجة معينة بواسطة آلة معالجة المعلومات". وأضافت أن برامج الحاسب الآلي تشمل "الوصف التفصيلي للبرنامج الذي يحدد مجموعة التعليمات المكونة له وكافة المعلومات المساعدة التي تساعد على تفهمه كالتعليمات الموضوعة لصالح المستعمل على سبيل المثال.
هذا التباين التشريعي بشأن تعريف الحاسب الآلي أدى إلى تباين فقهي بالمقابل، حيث تعددت التعريفات الفقهية التي قيلت في بيان المقصود ببرامج الحاسب الآلي.
ذهب فريق من فقهاء القانون إلى أن برامج الحاسب الآلي هي "مجموعة من التعليمات التي من شأنها عقب نقلها على دعامة مقروءة من الآلة أن تؤدي إلى نتيجة أو غاية أو وظيفة معينة عن طريق آلة قادرة على معالجة البيانات." أو هي "تعليمات مكتوبة بلغة ما، موجهة إلىجهاز تقني معقد يسمى الحاسب الإلكتروني، بغرض الوصول إلى نتيجة أو مهمة معينة". ويلاحظ على هذه التعريفات أنها ركزت على "التعليمات المكتوبة" التي يبتكرها المبرمج ويوجهها إلى الآلة لتحقق أهدافاً معينة، وبالتالي يثار التساؤل حول ما إذا كانت برامج الحاسب الآلي "قاصرة" على هذه التعليمات أم أن هناك أشياء أخرى يلزم إضافتها؟
صفحة 8
وذهب البعض الآخر من الفقهاء إلى تبني "مفهوم واسع لبرامج الحاسب الآلي" حيث ذهبوا إلى أن برامج الحاسب الآلي "هي مجموعة من التعليمات والأوامر التي توجه للحاسب الآلي بلغة معينة بقصد الوصول إلى نتيجة محددة، مضافاً إلى ذلك الملحقات والوثائق التي تستخدم لتنظيم عمل الحاسوب".
الحقيقة إن إثارة هذا التساؤل ترجع إلى وجود شبه إجماع فقهي وقضائي على أن برامج الحاسب الآلي لا تقتصر في معناها على مجرد "التعليمات" التي يعطيها المبرمج للآلة، إنما يمتد المعنى ليشمل "كافة الملحقات المرتبطة بهذه التعليمات" كالأوراق والوثائق التي تستهدف وصف هذه البرامج وتبسيط فهمها وبيان كيفية الاستخدام للمتعاملين معها، وهذا هو ما اصطلح بعض فقهاء الملكية الفكرية على تسميته بـ "التعريف الواسع لبرامج الحاسب الآلي" الذي يشمل فضلاً على التعليمات الموجهة من المبرمج إلى الآلة، تلك التعليمات الموجهة من المبرمج إلى العميل والتي تبسط له المعلومة وتوجهه نحو كيفية استخدام البرنامج، وبالتالي تسهل عليه فهمه وإدراكه.
لا شك في أهمية الاعتماد على التعريف "الواسع لبرامج الحاسب الآلي"على اعتبار أن أثره يظهر عند تطبيق أحكام الحماية القانونية التي ستنبسط على التعليمات وعلى كافة الوثائق المصاحبة لها. ولعل هذا يمثل الاتجاه العام الذي تسير عليه جميع تشريعات الملكية الفكرية، حتى تلك التشريعات التي توحي نصوصها بالاقتصار على الأخذ بالمفهوم الضيق، إذ يكشف تفسير الفقه وتطبيق القضاء لهذه النصوص على ما يؤكد شمول التعريف لكافة الملحقات التي نتحدث عنها.
ونشير في هذا المقام إلى أنه قد أصبح من المستقر في كافة النظم القانونية الآن تمتع التوثيقات والمواد المساندة وهي وثائق وخرائط وكتيبات مرتبطة بالبرنامج ارتباطا وثيقا وهي نوعان:-
الأول: يعتبر جزءاً من البرنامج نفسه، وتستعمل في مرحلة تصميم البرامج وتطويرها وإنتاجها مثل الوثيقة التي تصف البرنامج والخوارزميات وخرائط التدفق إلى غير ذلك.
الثاني: المواد والوثائق التي تصدر بعد انتاج البرنامج وبمناسة طرحه في الأسواق ووظيفة هذه الوثائق المساعدة فهم البرنامج وشرح كيفية استعماله وتصحيح أخطائه إلى غير ذلك.
ونشير في هذا المقام ايضاً إلى قرار المجلس الأوروبي Eurppean Commission" بشأن الحماية القانونية لبرامج الكمبيوتر المعروفة باسم القرار التوجيهي “E-Directive” الصادر في 14مايو 1991م رقم (91/250) والذي أوضح في "ديباجته" أن تعبير"برامج الحاسب الآلي" يشمل برنامج الكمبيوتر في أي صورة كانت بما في ذلك برامج الكمبيوتر المندمجة في جهاز أو شئ مادي، ويشمل أيضاً "التصميمات الأولية" التي تقود إلى تطوير برامج الكمبيوتر بشرط أن تكون هذه الأعمال من طبيعتها أن تؤدي إلى إنتاج برنامج كمبيوتر في مرحلة لآحقة.
وأوضحت المادة الأولى من القرار الأوروبي والتي جاءت بعنوان "الغرض من الحماية" أنه ".... ولأغراض هذا القرار فإن تعبير برامج الكمبيوتر يشمل أعمال التصميم التحضيرية الخاصة به".
وعليه فإن الأخذ بالمفهوم الواسع لبرامج الحاسب الآلي يجعل الحماية القانونية تشمل البرامج التطبيقية المتمثلة في مجموعة التعليمات الموجهة للحاسب الآلي بقصد التوصل إلى نتيجة محددة، وكافة الوثائق الملحقة بالبرنامج التي تعمل على تنسيق عمل المعدات وتنظيمها (ComputerHardware)، بينما الأخذ بالمفهوم الضيق يجعل الحماية القانونية تقتصر على البرامج التطبيقية وهي تلك المصممة لتلبية حاجات الإنسان المتعددة.
الحقيقة إن إثارة هذا التساؤل ترجع إلى وجود شبه إجماع فقهي وقضائي على أن برامج الحاسب الآلي لا تقتصر في معناها على مجرد "التعليمات" التي يعطيها المبرمج للآلة، إنما يمتد المعنى ليشمل "كافة الملحقات المرتبطة بهذه التعليمات" كالأوراق والوثائق التي تستهدف وصف هذه البرامج وتبسيط فهمها وبيان كيفية الاستخدام للمتعاملين معها، وهذا هو ما اصطلح بعض فقهاء الملكية الفكرية على تسميته بـ "التعريف الواسع لبرامج الحاسب الآلي" الذي يشمل فضلاً على التعليمات الموجهة من المبرمج إلى الآلة، تلك التعليمات الموجهة من المبرمج إلى العميل والتي تبسط له المعلومة وتوجهه نحو كيفية استخدام البرنامج، وبالتالي تسهل عليه فهمه وإدراكه.
لا شك في أهمية الاعتماد على التعريف "الواسع لبرامج الحاسب الآلي"على اعتبار أن أثره يظهر عند تطبيق أحكام الحماية القانونية التي ستنبسط على التعليمات وعلى كافة الوثائق المصاحبة لها. ولعل هذا يمثل الاتجاه العام الذي تسير عليه جميع تشريعات الملكية الفكرية، حتى تلك التشريعات التي توحي نصوصها بالاقتصار على الأخذ بالمفهوم الضيق، إذ يكشف تفسير الفقه وتطبيق القضاء لهذه النصوص على ما يؤكد شمول التعريف لكافة الملحقات التي نتحدث عنها.
ونشير في هذا المقام إلى أنه قد أصبح من المستقر في كافة النظم القانونية الآن تمتع التوثيقات والمواد المساندة وهي وثائق وخرائط وكتيبات مرتبطة بالبرنامج ارتباطا وثيقا وهي نوعان:-
الأول: يعتبر جزءاً من البرنامج نفسه، وتستعمل في مرحلة تصميم البرامج وتطويرها وإنتاجها مثل الوثيقة التي تصف البرنامج والخوارزميات وخرائط التدفق إلى غير ذلك.
الثاني: المواد والوثائق التي تصدر بعد انتاج البرنامج وبمناسة طرحه في الأسواق ووظيفة هذه الوثائق المساعدة فهم البرنامج وشرح كيفية استعماله وتصحيح أخطائه إلى غير ذلك.
ونشير في هذا المقام ايضاً إلى قرار المجلس الأوروبي Eurppean Commission" بشأن الحماية القانونية لبرامج الكمبيوتر المعروفة باسم القرار التوجيهي “E-Directive” الصادر في 14مايو 1991م رقم (91/250) والذي أوضح في "ديباجته" أن تعبير"برامج الحاسب الآلي" يشمل برنامج الكمبيوتر في أي صورة كانت بما في ذلك برامج الكمبيوتر المندمجة في جهاز أو شئ مادي، ويشمل أيضاً "التصميمات الأولية" التي تقود إلى تطوير برامج الكمبيوتر بشرط أن تكون هذه الأعمال من طبيعتها أن تؤدي إلى إنتاج برنامج كمبيوتر في مرحلة لآحقة.
وأوضحت المادة الأولى من القرار الأوروبي والتي جاءت بعنوان "الغرض من الحماية" أنه ".... ولأغراض هذا القرار فإن تعبير برامج الكمبيوتر يشمل أعمال التصميم التحضيرية الخاصة به".
وعليه فإن الأخذ بالمفهوم الواسع لبرامج الحاسب الآلي يجعل الحماية القانونية تشمل البرامج التطبيقية المتمثلة في مجموعة التعليمات الموجهة للحاسب الآلي بقصد التوصل إلى نتيجة محددة، وكافة الوثائق الملحقة بالبرنامج التي تعمل على تنسيق عمل المعدات وتنظيمها (ComputerHardware)، بينما الأخذ بالمفهوم الضيق يجعل الحماية القانونية تقتصر على البرامج التطبيقية وهي تلك المصممة لتلبية حاجات الإنسان المتعددة.
صفحة 9
الطبيعة القانونية لبرامج الحاسب الآلي
أثار موضوع الطبيعة القانونية لبرامج الحاسب الآلي جدلاً فقهياً وآسعاً فالبعض يرى أنها تعتبر من الأشياء المادية، بينما يرى آخرون أنها تعتبر من الأشياء المعنوية.مدى اعتبار برامج الحاسب الآلي من الأشياء المادية:-
يرى البعض أن برامج الحاسب الآلي تعتبر من الأشياء المادية أو المنقولات. والسبب في ذلك أنها مخصصة لمخاطبة العقل البشري. يضاف إلى ذلك أنه لا يمكن الإستفادة منها إلا بعد نقلها على دعامة مادية، سواء كانت قرص أو أسطوانة، بشكل يُمكن جهاز الحاسب الآليمن قراءتها أو التعامل معها. أما سبب اعتبارها منقول وليس عقار هو أن هذه البرامج تمتاز بإمكانية نقلها دون حدوث تحويل أو تعديل أو تلف في البرنامج.
مدى اعتبار برامج الحاسب الآلي من الأشياء المعنوية:-
ويرى الاتجاه الغالب في الفقة أن برامج الحاسب الآلي تعتبر من الأشياء المعنوية، والسبب في ذلك أن البرنامج من إبداع الذهن أو العقل البشري ولكنها تتخذ شكلاً مادياً. اعتبار برامج الحاسب الآلي من الأشياء المعنوية يعني أنها تصلح لأن تكون محلاً للحقوق المعنوية، ولكن السؤال الذي يثور هو: لأي نوع من الحقوق المعنوية تخضع حماية برامج الحاسب الآلي، هل تخضع لحماية قانون براءة الاختراع أم لقانون الأسرار التجارية أم العلامات التجارية أم لقانون حق المؤلف.
تعد برامج الحاسب الآلي أول مصنفات المعلوماتية وأهمها وقد حظيت بإهتمام كبير من حيث وجوب الاعتراف بها وتوفير الحماية القانونية لها، حيث أدى استخدام تكنولوجيا المعلوماتية وشبكات الاتصال إلى تكوين ملامح اقتصاد جديد للمعلومات قام إثر ظهور أموال وسلع معلوماتية جديدة تمتاز بطبيعتها اللامادية، كبرامج الحاسب الآلي وقواعد المعلومات وبنوكها وأنظمة المعلومات ... الخ. ويقودنا ذلك إلى التحري عن كيفية تعامل الأنظمة القانونية للدول مع الملكيات المعلوماتية، وما تتضمنه قوانين الملكيات الفكرية والاتفاقيات الإقليمية والدولية القائمة في شأن أصول تملك برامج الحاسب الآلي، وكيفية حمايتها من الإعتداءات غير المشروعة ومعرفة مدى جواز تطبيق النصوص والمواد التقليدية على هذه الأموال الجديدة التي أوجدتها تكنولوجيا المعلوماتية والاتصالات.
منذ مطلع السبعينيات أثارت برامج الحاسب الآلي جدلاً واسعاً بشأن طبيعتها وموضوع حمايتها من بين تشريعات الملكية الفكرية. وترددت الآراء بين من يدعو لحمايتها عبر نظام براءات الاختراع لما تنطوي عليه من سمة الاستغلال الصناعي واتصالها العضوي بمنتج مادي صناعي، وبين من ذهب إلى حمايتها عبر نظام الأسرار التجارية إذ تنطوي في الغالب على سر تجاري يتجلى بالأفكار التي انبنى عليها أو الغرض من ابتكارها، وبين من دعى إلى حمايتها عن طريق الشروط العقدية التي تجد مكانها في رخص الاستخدام أو اتفاقيات الاستغلال. لكن كافة هذه الآراء لم تصمد أمام الرأي الذي وجد البرمجيات عملا إبتكاريا أدبيا يضعها ضمن نطاق مصنفات الملكية الأدبية (حق المؤلف) إذ هي أفكار وترتيب لخوارزميات تفرغ ضمن شكل ابتكاري إبداعي، وسماتها وصفاتها المميزة تتقابل مع عناصر الحماية لمصنفات الملكية الأدبية.
وأيدت غالبية التشريعات حماية برامج الحاسب الآلي عن طريق تشريعات حقوق المؤلف، ومنها القانون الأمريكي والياباني والإنجليزي والفرنسي والإيطالي والألماني والكندي والهندي والمصري رقم 82 لسنة 2002م والأردني في المادة (3/8) من قانون حماية المؤلف رقم 22 لسنة 1992م والتونسي في المادة (1) من قانون الملكية الأدبية والفنية رقم (36) لسنة 1994م والسعودي في المادة (3/10) من نظام حماية حقوق المؤلف والقطري في المادة (2/10) من قانون حماية المصنفات الفكرية وحقوق المؤلف رقم (25) لسنة 1995م والبحريني في المادة (2/ي) من قانون حماية حقوق المؤلف رقم (10) لسنة 1993م.
ومع استمرار وجود النظم القانونية التي توفر الحماية للبرمجيات عبر الآليات المتقدم الإشارة إليها، فإن الاتجاه التشريعي الدولي قد اعتبرها أيضاً أعمالاً أدبية بموجب تشريعات حق المؤلف، سيما بعد وضع منظمة الوايبو القانون النموذجي والإرشادي عام 1978م بشأن "حماية البرمجيات"، وبعد سلسة خبراء الوايبو ومنظمة اليونسكو عامي (1983-1985) التي أسفرت عن توجه عام بإعتبارها من قبيل الأعمال الأدبية، كما أن اتفاقية "تربس" نصت صراحةً على أن تتم حماية برامج الحاسب الآلي كأعمال أدبية حيث يدفع هذا النص الى تدويلالإطار القانوني لحماية برامج الحاسب الآلي.
صفحة 10
أنواع برمجيات الحاسب الآليفي التشريع
لم تورد تشريعات بعض الدول والإتفاقيات الدولية الخاصة بحق المؤلف تقسيمات أو تصنيفات علمية لبرامج الحاسب الآلي، وإنما اقتصرت على ذكر أن الحماية تشمل برامج الحاسب الآلي.على سبيل المثال لم يتطرق المشرع السوداني في قانون حق المؤلف والحقوق المجاورة لسنة 1996م إلى "أنواع برمجيات الحاسب الآلي" وإنما اقتصر على ذكر أن برامج الحاسب الآلي مشمولة بالحماية باعتبارها مصنفاً حسب المادة "5/ز" من القانون، بينما ذهب البعض الآخر من التشريعات والاتفاقيات الدولية إلى توضيح أنواع برمجيات الحاسب الآلي، وأنها تتمتع بالحماية وفقاً لأحكام حق المؤلف سواء كانت بلغة المصدر أو الآلة أو مهما كانت لغتها. على سبيل المثال المشرع الأردني في المادة (3/ب/8) من قانون حماية حق المؤلف رقم(22) لسنة 1992م والمعدل في القانون رقم (14) لسنة 1998م وقانون رقم (29) لسنة 1999م في المادة (3/ب) ذكر أن برامج الحاسب الآلي سواء كانت بلغة المصدر أو الآلة مشمولة بالحماية وفقاً للقانون المذكور أعلاة."
ولا يفوتنا أن نشير إلى تأكيد الحماية القانونية لبرامج الحاسب الآلي، بصورة شاملة، لكلا البرنامجين "برنامج المصدر وبرنامج الهدف"، حسبما نصت عليه المادة (10) البند (1) من اتفاقية (تربس) على أنه" تتمتع برامج الحاسب الآلي سواء أكانت بلغة المصدر أو بلغة الآلة بالحماية باعتبارها مصنفات أدبية بموجب معاهدة بيرن، وأن التمييز بين هذه الأنواع المختلفة لبرامج الحاسوب ليس له أهمية من الناحية القانونية حيث أن كلتا الصورتين أعلاه تعدان مصنفاً في مفهوم قوانين حق المؤلف ويتمتعان بالحماية القانونية المقررة للمصنفات الأدبية والفنية متى ما توافرت شروط هذه الحماية، ولا فرق بينهما في طبيعة هذه الحماية أو درجتها.
وفي واحد من الأحكام الشهيرة في القضاء الأمريكي Apple Corporation Inc V FranklinComputer Corporation 1982 قررت المحكمة أنه "ليس هناك أي أساس قانوني للتفرقة- في مجال الحماية القانونية- بين برنامج المصدر وبرنامج الهدف". وأوردت المحكمة أن " الحماية القانونية تمتد إلى العمل الفكري متى أمكن إدراكه "Perceived" أو إعادة إنتاجه"Reproduced" أو الإتصال به بمساعدة الكمبيوتر بصرف النظر عن الجمهور المقصود بالعمل، لذا فإن برنامج الهدف يقع ضمن نطاق الحماية القانونية المقررة في قانون حقوق الطبع حتى ولو كانت وسيلة الاتصال به هو جهاز الكمبيوتر أو أن إتصال المستعملين به يتم عن طريق الكمبيوتر".
وقد أكدت أحكام أخرىApple Corporation Inc V Formula Inc 1983 ذات المبادئ وقررت أن تحويل "برنامج المصدر" إلى "برنامج الهدف" لا يخل بالحماية المقررة أصلاً لكلا البرنامجين. ورفضت المحكمة أي تفسير لمواد القانون يؤدي إلى تضييق نطاق الحماية المقررة لبرامج الكمبيوتر.