کد برنامه کامپیوتری چیست؟ برنامه کامپیوتری

برای اینکه برنامه بتواند اقدامات تعیین شده برای آن را انجام دهد، به عنوان مثال، محاسبه، نمایش نتیجه، پاسخ به اقدامات کاربر، به عنوان مثال، فشار دادن دکمه ها، انتخاب خطوط از یک لیست، لازم است. کد برنامه

کد برنامه مجموعه ای از کلمات و نمادهای یک زبان برنامه نویسی است.

الفبا - این مجموعه کاملحروف، اعداد و نمادهایی که در زبان برای تعیین داده ها و اقدامات روی آنها به کار می روند.

برای قابل مدیریت کردن پیچیدگی، تکنیک های مهندسی نرم افزار متعددی، هم از نظر ریاضی و هم از لحاظ گرافیکی، توسعه یافته اند. با این حال، هیچ روش ساختاری تاکنون نتوانسته است به طور کامل دانش حوزه را که تنها از طریق تجربه مستقیم و قرار گرفتن در معرض موارد به دست می آید، جایگزین یا کاهش دهد. اکثر برنامه نویسان سازنده نه تنها دانش کاربردی عمیقی دارند، بلکه باید مسئولیت های مدیریتی در پروژه های اصلی را نیز بر عهده بگیرند و استعداد برقراری ارتباط با دیگران با دیدگاه های فنی خود را داشته باشند.

الفبای زبان ویژوال بیسیک شامل مجموعه کاراکترهای زیر است:

حروف بزرگ (A - Z) و حروف کوچک (a - z) الفبای لاتین؛

اعداد از 0 تا 9;

نشانه ها عملیات حسابی(به ترتیب اولویت افزایشی): +، -، *، /، |، ^;

نشانه های عملیات رابطه ای: =،<, >.

علائم نگارشی و جداکننده: ,  . : ; ();

الفبای زبان نیز شامل می شود رزرو شده استکلماتی که نمی توان از آنها استفاده کرد نام هامتغیرها یا رویه ها نمونه هایی از کلمات رزرو شده: Dim، Sub، Integer و غیره. به طور پیش فرض، فونت آبی برای برجسته کردن کلمات کلیدی در پنجره ویرایش کد ویژوال بیسیک استفاده می شود.

نتایج دلگرم کننده تری با مفاهیم طراحی جدید به دست آمد. اولین حرکت عمده ای که از دهه 1980 پدیدار شد، برنامه نویسی شی بود. یک شی نرم افزار به عنوان یک شی متعلق به یک کلاس تعریف می شود که دارای حالت محلی است که توسط یک ساختار داده تعریف شده است و می تواند محاسبات را انجام دهد. یک شی توسط اشیاء دیگر بر اساس یک شبکه به جای ساختار درختی مانند الگوهای برنامه نویسی متوالی فعال می شود. برنامه نویسی شیء مؤلفه های الگوریتمی و تجویزی سنتی را با ساختارهای داده متعادل می کند.

کلمات و علائم باید کاملاً بر اساس قوانین زبان، بدون اشتباهات املایی و نقطه گذاری نوشته شوند. این املای دقیق است که به رایانه اجازه می دهد تا برنامه را بدون ابهام درک و اجرا کند.

پنجره کد

کد برنامه در پنجره کد نوشته می شود. هر فرم دارای چنین پنجره ای است.

باز کردن پنجره کد:

توسعه بیشتر با مفهوم برنامه نویسی مؤلفه نشان داده می شود. اجزای نرم‌افزار بر حسب توابع و رابط‌های انتزاعی اما کاملاً تعریف شده که برای سایر مؤلفه‌ها قابل اجرا هستند، تعریف می‌شوند. برنامه نویسی مؤلفه سعی در ایجاد کتابخانه هایی از راه حل ها برای توابع خاص، استانداردسازی رابط ها و ترویج استفاده مجدد از مؤلفه های موجود داشت.

برنامه نویسی شی گرا و برنامه نویسی مبتنی بر کامپوننت قابلیت تفکیک، ماژولار بودن و قابلیت استفاده مجدد نرم افزار را بسیار افزایش داده است. به همین دلایل، مفهوم حداکثر بهره وری نرم افزار در مقایسه با سایر زمینه ها از اهمیت بی نظیری برخوردار است. طرح های حفاظتی احترام به حقوق مالکیت معنوی را تضمین می کند.

1 راه - در پنجره پروژه اکسپلوررکلیک کنید کلیک راست کنیددر فرم مورد نیاز و در منوی باز شده انتخاب کنید نمایش کد.

توجه داشته باشید: پنجره کد ممکن است با فرم مرتبط نباشد. پنجره کد جداگانه نامیده می شود ماژول. ماژول ها در پنجره Project Explorer در یک گروه گروه بندی می شوند ماژول ها. برای باز کردن یک پنجره با کد ماژول، باید در پنجره پروژه اکسپلوررروی نام ماژول دوبار کلیک کنید.

حفاظت حقوقی نرم افزار دارای تاریخچه پیچیده و به خوبی بیان شده است. در روزهای اولیه صنعت IT، مفهوم نرم افزار به خودی خود غایب بود زیرا برنامه ها به زبان ماشین کامپایل می شدند و بر روی رایانه ها به گونه ای فروخته می شدند که جدایی ناپذیر بود. نوشتن و نگهداری برنامه در سراسر صنعت به عنوان یکی از اجزای مهم خدمات به مشتریان در نظر گرفته شد. به موازات آن، در دنیای آکادمیک آمریکا، از دهه 1950، فعالیت های پژوهشی و آموزشی در زمینه علوم کامپیوتر بدون مشکل ساختار یافته است و تا دهه 1970، محققان و برنامه نویسان در حوزه دانشگاهی از کدنویسی و انتشار آن استفاده می کردند. آزادانه

روش 2 - روی عنصر کنترل در فرم یا روی خود فرم در پنجره فرم دوبار کلیک کنید.

توجه داشته باشید: این نه تنها پنجره کد را باز می کند، بلکه یک رویه مدیریت رویداد نیز ایجاد می کند (به زیر مراجعه کنید).

ساختار پنجره کد:

ایجاد یک صنعت جداگانه آغاز شد، جایی که فرآیند گسترده ای از معرفی شرکت های جدید در دهه 1970 ثبت شد. تولیدکنندگان مستقل نرم افزار شروع به فروش برنامه ها به صورت رسانه ای کردند، اما حمایت قانونی از محتوای آنها به زودی به یک مشکل تبدیل شد.

تمرکز رویه قضایی بر محتوای برنامه‌هایی که عمدتاً از متنی در مورد حمایت از حقوق مالکیت معنوی از طریق حق چاپ تشکیل شده است، در قانون ایالات متحده تحت قانون حفاظت از حق چاپ، که از دارنده حق چاپ در برابر بازتولید غیرمجاز متن محافظت می‌کند، تصریح شده است. اصلاح آن

برنج. 7. پنجره کد برنامه.

    لیست کنترل ها

    لیست رویدادهای کنترلی

    رویه (کد)

رویه ها

از آنجایی که با باز شدن یخچال، لامپ روشن می شود و با باز شدن شیر آب، آب از آن خارج می شود، می توان گفت زمانی که در یخچال اتفاق می افتد، یک عمل انجام می شود و باز شدن شیر باعث دیگری می شود. رویه به همین ترتیب کد برنامهشامل رویه های جداگانه ای است که هر یک اقدامات خاص خود را انجام می دهد، به عنوان مثال، یک روش یک لامپ را روشن می کند، دیگری آب را روشن می کند (پمپ می کند).

روند قانونی که منجر به ثبت اختراع نرم افزار شد بحث برانگیز است و بر اساس قیاسی بین تأثیرات روی یک ماشین با هدف عمومی اجرای نرم افزار کاربردی و تأثیرات ناشی از یک ماشین خاص است که همان نتیجه را برای اصول مهندسی مکانیک پیاده سازی می کند. از آنجایی که افزایش قدرت و پیچیدگی نرم‌افزار باعث می‌شود ماشین‌های عمومی قادر به انجام عملیات بسیار خاص باشند، رویه قضایی آمریکا معتقد است که می‌تواند اصول عملیاتی را هماهنگ کند و بنابراین الزامات عینی را برای ثبت اختراع پیدا کند.

ویژوال بیسیک - زبان برنامه نویسی رویه ایاین به این معنی است که می توانید بلوک هایی از کد را در آن ایجاد کنید، که سپس می توان به آنها اشاره کرد. هنگامی که یک بلوک کد یک نام داشته باشد، می تواند باشد تماس گرفتو تکمیل شد. مثل یک برنامه در یک برنامه است. برنامه های کوچکی که در برنامه های بزرگ «زنده می شوند» نامیده می شوند توابع اگرمقداری مقدار را برمی گردانند و زیر برنامه ها،اگر مقادیر را برنگردانند.

با این حال، در عمل تعداد اختراعات اعطا شده، حتی در اروپا، بسیار زیاد بوده است، به ویژه در مواردی که می توان نشان داد که این برنامه عملیات در دنیای فیزیکی را تعیین می کند. حفاظت از حق نسخه برداری نرم افزار محافظت قانونی را فراهم می کند، اما شرط کافی برای قانونی بودن بازتولید غیرمجاز نیست. در واقع خاطرنشان می شود که دنیای نرم افزار در معرض پدیده گسترده دزدی دریایی، از طریق بازتولید غیرقانونی کد منبع و بازاریابی نسخه های غیرمجاز است.

روال‌ها و توابع برنامه‌نویسی را آسان‌تر و سریع‌تر می‌کنند و کدهایی که ایجاد می‌کنید قابل اعتمادتر هستند. ایجاد روال ها و عملکردهای خود اولین قدم برای توسعه است کپسوله شدهو کد قابل استفاده مجدد کپسوله سازی به معنای پنهان کردن اجرای ویژگی ها و روش های یک شی در پشت رابط خارجی آن است.

در واقع هزینه نرم افزار به دلیل تأثیر برون سپاری شبکه افزایش می یابد، صرف نظر از اینکه توسط خریداران قانونی و نامشروع پذیرفته شود. از منظر تقاضا، خرید نرم‌افزار غیرمجاز همان سودمندی ذاتی را به نرم‌افزار قانونی نسبت می‌دهد، اما البته دسترسی به خدمات پس از فروش را حذف نمی‌کند. به طور کلی انتظار می رود که اطمینان از احترام به مالکیت معنوی یک ارائه دهنده نرم افزار به طور قابل توجهی بیش از صفر هزینه داشته باشد، مانند هزینه های قانونی.

رویه (زیر روال) یک قطعه جداگانه از کد برنامه است که با کمک آن یک کار کوچک معمولاً یک بلوک برنامه کوچک ساخته شده منطقی است که کل برنامه به آن تقسیم می شود.

اگر یک رویه فقط در یک بلوک برنامه مشخص (مثلاً فقط در این فرم) قابل اجرا باشد و نتوان آن را از بلوک برنامه دیگری فراخوانی کرد، چنین رویه ای محلی است. یک رویه محلی با استفاده از کلمه کلیدی Private Sub مشخص می شود.

تحلیل اقتصادی نشان می‌دهد که فروشندگان نرم‌افزار علاقه‌ای به رعایت مطلق ممنوعیت کپی ندارند، اما بسته به اهمیت نسبی خدمات پس از فروش به مشتریان برای عملکرد داخلی، سطح معینی از تحمل را مجاز می‌کنند.

این پاسخ متفاوت تولیدکنندگان نرم افزار نسبت به تولیدکنندگان دیسک و فیلم را به بازتولید غیرقانونی کپی ها توضیح می دهد. این برنامه توسط برنامه نویسانی ایجاد می شود که در پروژه های توسعه وب همکاری می کنند، اما برای کار خود پاداشی دریافت نمی کنند و با مجوزهایی از طریق اینترنت توزیع می شود که دسترسی به کد منبع و اصلاح آن را امکان پذیر می کند و بازاریابی را ممنوع می کند.

اگر بتوان رویه ای را از سایر بلوک های برنامه (مثلاً از فرم دیگری) فراخوانی کرد، در این صورت چنین رویه ای سراسری است. یک رویه جهانی با استفاده از کلمه کلیدی Sub Public مشخص می شود.

به طور پیش فرض، اگر قبل از کلمه کلیدی Sub، هیچ وجود ندارد کلمه کلیدی، پس این یک رویه جهانی است.

رویه ها عبارتند از:

    رویه های رویداد.

    زمانی اجرا می شود که رویدادی روی یک کنترل (یا فرم) رخ دهد. یک رویه رویداد همیشه با یک شی مرتبط است. برای فراخوانی رویه رویداد یک شی، کافی است روی شی دوبار کلیک چپ کنید.این پدیده به لطف فعالیت محققان دانشگاه های آمریکایی و برنامه نویسان مستقلی که تصمیم گرفتند با تبدیل تدریجی نرم افزار به محصولات تجاری از طریق جنبش به اصطلاح نرم افزار آزاد مخالفت کنند، آغاز شد. اول، شما تعجب می کنید که چه چیزی برنامه نویسان را به کار رایگان ترغیب می کند. بسیاری از مطالعات نشان داده‌اند که هم انگیزه‌های غیراقتصادی و هم انگیزه‌های اقتصادی وجود دارد: اول از همه، تمایل به انتشار دانش به شکل آزاد، رضایت درونی در برنامه‌نویسی، رضایت در شناخت نویسندگان.

    کیفیت خوب; دومی شامل ایجاد نرم‌افزار متناسب با نیازهای خاص، گسترش فرصت‌های یادگیری در جوامع حرفه‌ای در حال گسترش، و توانایی ایجاد شهرت فنی است که در بازار کار با دستمزد نیز شناخته می‌شود. رویه های خودسرانه. با رویدادها مرتبط نیست و می تواند از هر رویه دیگری فراخوانی شود و در هر زمانی اجرا شود.اگر همان کد به تمام اشکال در یک برنامه ظاهر شود بلوک برنامه، سپس می توان آن را فقط یک بار و در یک مکان، به صورت جهانی نوشت شی. ProcedureName (ParameterList). رویه عمومیهم خصوصی محلی و هم عمومی جهانی وجود دارد

    دوم، این سؤال وجود دارد که آیا توزیع رایگان محصولات نرم افزاری به رویکردهای فرصت طلبانه برای تصاحب، مانند حذف کد رایگان، اصلاح و بهره برداری تجاری گسترش می یابد یا خیر. بیشتر این شرکت‌ها بابت کار مستقیم دریافت می‌کنند منبع بازبه نیازهای خاص مشتری و خدمات اضافی.

    H. "اقتصاد توسعه نرم افزار منبع باز"، آمستردام، الزویر. ادوارد، سیستم نوآوری بخش نرم افزار اروپایی، در: سیستم های بخش نوآوری. در این فصل، خواهیم فهمید که برنامه نویسی در هسته آن چیست.

ساختار رویه

رویه از عناصر زیر تشکیل شده است:

    سربرگ رویه - شروع روش، نوع آن، هدف (رویداد) را نشان می دهد.

مثالی از عنوان رویه ای که با کلیک روی دکمه ای به نام Command1 اجرا می شود.


"برنامه" به چه معناست؟

برنامه نویسی شامل گفتن به کامپیوتر است که چه کاری انجام دهد، مانند "چاپ چیزی روی صفحه" یا "ضرب دو عدد". هنگامی که دستورات یکی پس از دیگری قرار می گیرند، برنامه کامپیوتری نامیده می شوند. به متن برنامه های کامپیوتری کد برنامه می گویند. برنامه های کامپیوتری معمولاً نوعی الگوریتم را اجرا می کنند. الگوریتم ها دنباله ای از مراحل مورد نیاز برای تکمیل هستند کار خاصو دستیابی به نتیجه مورد انتظار، چیزی شبیه به "دستور العمل". مثلاً اگر تخم‌مرغ‌ها را سرخ می‌کنیم، دستور درست می‌کنیم: چربی را در ظرفی گرم کنید، تخم‌مرغ‌ها را بشکنید، صبر کنید تا سرخ شوند، از روی آتش بریزید.

    کلمه خصوصیبه معنی بسته است، یعنی رویه فقط متعلق به این فرم یا ماژول است و توسط سایر کانتینرها (فرم ها، ماژول ها) قابل استفاده نیست.

    اگر این کلمه حذف شود، رویه برای سایر ظروف باز می شود.فرعی

توجه داشته باشید: - رویه

علاوه بر رویه ها، عملکردهایی نیز وجود دارد. توابع با رویدادها مرتبط نیستند و علاوه بر این می توانند نتیجه کار خود (محاسبات) را برگردانند.

زبان های برنامه نویسی، کامپایلرها، مفسرها و محیط های توسعه

زبان برنامه نویسی یک زبان مصنوعی است که برای تنظیم دستوراتی طراحی شده است که می خواهیم کامپیوتر بخواند، پردازش کند و اجرا کند. با استفاده از زبان های برنامه نویسی، دنباله ای از دستورات را می نویسیم که می پرسند کامپیوتر چه کاری انجام می دهد. اجرای برنامه های کامپیوتری می تواند توسط کامپایلر یا مفسر انجام شود.

    عنصر کنترل(یا نام فرم): نام دقیق عنصر ذخیره شده در ویژگی را مشخص می کند نام.

    رویداد- نام رویداد در اینجا برخی از رویدادها وجود دارد:

    کلیک کنید - کلیک ماوس؛

    DblClick - دوبار کلیک کنیدموش؛

    کلید فشار - فشار دادن کلید؛

    UnLoad - بارگیری فرم (هنگام بستن فرم، پایان برنامه).

    کامپایلر کد را از یک زبان برنامه نویسی به کد ماشین ترجمه می کند و یک قطعه کد ماشین از قبل آماده شده مناسب را برای هر ساختار کد انتخاب می کند و در عین حال خطاهای موجود در متن برنامه را بررسی می کند. قطعات کامپایل شده با هم، همانطور که ریزپردازنده کامپیوتر انتظار می رود، برنامه را به کد ماشین می سازند. هنگامی که یک برنامه کامپایل شد، می توان آن را مستقیماً توسط ریزپردازنده با همکاری سیستم عامل اجرا کرد. در زبان های برنامه نویسی کامپایل شده، کامپایل برنامه قبل از اجرا اجباری است و خطاهای نحوی در حین کامپایل شناسایی می شوند.

    فعال سازی - فعال سازی فرم (زمانی که روی فرم کلیک می کنید و عنوان آن برجسته می شود).

    غیرفعال کردن - غیرفعال کردن فرم (هنگام کلیک بر روی فرم دیگری).

    Initialize - هنگام ایجاد یک شی از نوع فرم.

    تغییر اندازه - هنگام تغییر اندازه فرم

    خاتمه - در لحظه حذف فرم

    استدلال ها- این داده های اولیه است که به رویه پردازش منتقل می شود.

    برخی از زبان های برنامه نویسی از کامپایلر استفاده نمی کنند، بلکه مستقیماً توسط یک متخصص تفسیر می شوند نرم افزاربه نام "مترجم". مترجم یک "برنامه اجرا کننده برنامه" است که در یک زبان برنامه نویسی خاص نوشته شده است. دستورات برنامه را یکی پس از دیگری، نه تنها از طریق دستورات و دستورات فردی، بلکه از طریق ساختارهای زبان دیگر نیز اجرا می کند. به دلیل عدم وجود پیش‌کامپایل در زبان‌های تفسیر شده، خطاها در زمان اجرا پس از شروع اجرای برنامه، به جای قبل، کشف می‌شوند.

رویه های سفارشی دارای هدر زیر هستند:

نام رویهباید وجود داشته باشد منحصر به فرد، باید با یک حرف شروع شود و نباید دارای فاصله یا نویسه ای غیر از زیرخط باشد. این رویه زمانی که باید اجرا شود با نام فراخوانی می شود.

    پایان روش - کد برنامه رویه را پایان می دهد: End Sub

توجه داشته باشید: برای توابع: عملکرد پایان

    بدنه رویه - اینها خطوط بین عنوان و پایان هستند.

تعداد آنها نامحدود است. خطوط حاوی دستورالعمل هایی هستند که باید هنگام فراخوانی رویه (رویداد رخ می دهد) اجرا شوند.اگر این کلمه حذف شود، رویه برای سایر ظروف باز می شود.) - زیر برنامه (

( خصوصی | رویه ای است که کد برنامه را در بلوک خود اجرا می کند و مقداری را بر نمی گرداند. نحو یک زیر روال ساده به صورت زیر است: ) اگر این کلمه حذف شود، رویه برای سایر ظروف باز می شود. عمومی ()

SubMain ..خطوط کد اگر این کلمه حذف شود، رویه برای سایر ظروف باز می شود.

پایان

- دامنه دید زیربرنامه؛

نوع روش فرعی (یعنی زیربرنامه)؛ subMain

نام داده شده به زیربرنامه؛

End Sub - انتهای بلوک کد زیربرنامه.

ایجاد رویه

    برای ایجاد یک رویه، موارد زیر را انجام دهید: 1 راه

    - بر روی کنترل یا فرم مورد نظر دوبار کلیک کنید. پنجره کد باز می شود و عنوان و انتهای رویه در آن ظاهر می شود. اگر رویداد دیگری مورد نیاز است، با استفاده از لیست در گوشه سمت راست بالای پنجره کد انتخاب می شود. 2 راه

    - پنجره کد را باز کنید، به Tools → Add Procedure → نام و پارامترهای رویه را مشخص کنید → Ok. 3 راه

- پنجره کد را باز کنید و خطوط مورد نیاز را از صفحه کلید وارد کنید.

نتیجه باید این باشد:

Command Sub Private1_Click()

    فراخوانی رویه ها برای اجرا

    برای اجرای یک رویه رویداد، رویداد باید رخ دهد.

نتیجه باید این باشد:

برای اجرای یک رویه دلخواه، نام این رویه را در متن رویه دیگری مشخص کنید.

در اینجا وقتی روی دکمه Command1 کلیک می کنید، رویداد Click رخ می دهد و روال Kvadrat فراخوانی و اجرا می شود.

کد رویه خط به خط و از بالا به پایین اجرا می شود.تابع () - تابع

رویه ای است که خطوط کد خود را اجرا می کند و مقداری را برمی گرداند. نحو یک تابع ساده به صورت زیر است: تابع

... FunctionName() به عنوان نوع دادهخطوط

کدFunctionName = ReturnValue

تابع پایان

- محدوده عملکرد؛

Function یک کلمه کلیدی ویژوال بیسیک است که نشان می دهد یک تابع است. () - نام تابع

نام داده شده به تابع؛

AS یک کلمه کلیدی ویژوال بیسیک است که قبل از تخصیص یک نوع داده است.نوع داده

نوع داده مقدار بازگشتی؛ ReturnValue

مقداری که باید به نام تابع اختصاص داده شود (این یک نکته بسیار مهم است!)

برنامه های کامپیوتری یکی از مهم ترین موضوعات مالکیت معنوی هستند. تعاریف مختلفی از برنامه های کامپیوتری وجود دارد. بیایید یکی از آنها را در نظر بگیریم.

برنامه های کامپیوتری- اینها مجموعه ای از دستورات و داده های مرتب شده برای به دست آوردن یک نتیجه خاص با استفاده از رایانه هستند.

این یک تعریف نسبتاً کلی و مستقل از یک برنامه کامپیوتری است. تاکید بر این نکته حائز اهمیت است که حمایت قانونی از برنامه های کامپیوتری به تعریف خاصی از اصطلاح "برنامه کامپیوتری" بستگی ندارد. بنابراین، صرف نظر از اینکه چه معنایی به این اصطلاح داده می شود، مقررات مربوط به حمایت قانونی از برنامه های رایانه ای نسبت به تعریف ثابت می ماند.

برنامه‌های رایانه‌ای یک هدف نسبتاً جدید برای محافظت هستند، زیرا تولید انبوه رایانه‌های شخصی، توسعه و توزیع برنامه‌های رایانه‌ای تنها در پایان قرن بیستم آغاز شد.

به رسمیت شناختن برنامه های رایانه ای به عنوان موضوع حق چاپ به سال 1964 باز می گردد، زمانی که آنها شروع به ثبت در ثبت نام کپی رایت ایالات متحده کردند. مطابق با قانون حق چاپ ایالات متحده در سال 1976، برنامه های رایانه ای شروع به محافظت به عنوان آثار ادبی کردند.

به رسمیت شناختن برنامه های رایانه ای به عنوان موضوع حق چاپ در ایالات متحده تصادفی نبود. ایالات متحده تولید کننده پیشرو تجهیزات کامپیوتری و برنامه های کامپیوتری بود که در کشورهای دیگر استفاده می شد. در چنین شرایطی، توسعه دهندگان برنامه های کامپیوتری سعی می کردند به هر وسیله ای از حقوق و منافع خود محافظت کنند. حمایت از برنامه های رایانه ای توسط قانون کپی رایت، به جای قانون ثبت اختراع، اعتبار حقوق مالکیت توسعه دهندگان برنامه های رایانه ای را به طور قابل توجهی افزایش داد و نیازی به هزینه های لازم برای به دست آوردن حمایت از حق ثبت اختراع و حفظ آن نداشت.

در کنوانسیون ثبت اختراع اروپا *(139) بیان کرد که برنامه های کامپیوتری مشمول حمایت از حق ثبت اختراع نیستند. این به طور موثر تشخیص می دهد که برنامه های رایانه ای باید توسط حق چاپ محافظت شوند. با این حال، با وجود این، اداره ثبت اختراع اروپا قبلاً برای ده ها هزار برنامه رایانه ای ثبت اختراع صادر کرده است.

به رسمیت شناختن بین المللی برنامه های رایانه ای به عنوان اشیاء حق چاپ با توسعه پیشنهادهای WIPO برای حفاظت از برنامه های رایانه ای در سال 1989 آغاز شد که در سال 1991 در دستورالعمل اتحادیه اروپا در مورد حمایت قانونی از برنامه های رایانه ای گنجانده شد. *(140) .

همین رویکرد در مورد برنامه‌های رایانه‌ای در موافقتنامه تریپس تأیید شده است: «برنامه‌های رایانه‌ای به شکل منبع یا خروجی به عنوان آثار ادبی مطابق با کنوانسیون برن محافظت می‌شوند». *(141) . این هنجار در معاهده حق نسخه‌برداری WIPO تأیید شده است که بر اساس آن «برنامه‌های رایانه‌ای به عنوان آثار ادبی در مفهوم ماده ۲ کنوانسیون برن محافظت می‌شوند». *(142) .

علیرغم تفسیر حقوقی بدون ابهام از برنامه های رایانه ای به عنوان موضوع حق چاپ، آنها همچنان یک موضوع پیچیده و بحث برانگیز از حمایت قانونی هستند. در این راستا، به نظر می رسد با جزئیات بیشتر اصول، مقررات و هنجارهای مدرن حمایت قانونی از برنامه های رایانه ای مورد توجه قرار گیرد.

طبق استانداردهای بین‌المللی، برنامه‌های رایانه‌ای به عنوان آثار ادبی محافظت می‌شوند و این حفاظت شامل همه انواع برنامه‌ها، از جمله سیستم‌عامل‌ها و برنامه‌های کاربردی، که به هر زبان و به هر شکلی، از جمله متن مبدأ و کد شی بیان می‌شوند، می‌شود.

علیرغم تغییرات اخیر در کنوانسیون برن برای حمایت از ادبیات و ادبیات آثار هنریدر سال 1979 معرفی شدند، زمانی که برنامه های کامپیوتری بسیار گسترده بودند، اما هیچ اشاره مستقیمی به حمایت قانونی از برنامه های کامپیوتری در کنوانسیون وجود ندارد. درست است، کنوانسیون برن مقرر می‌دارد که «اصطلاح «آثار ادبی و هنری» همه آثار در زمینه‌های ادبیات، علم و هنر را در بر می‌گیرد، به هر شکل و به هر شکلی که بیان شود. *(143) . طبق این حکم، برنامه‌های رایانه‌ای را می‌توان به عنوان موضوع حق چاپ در نظر گرفت، زیرا هر برنامه رایانه‌ای تمام ویژگی‌های آثار «در حوزه ادبیات، علم و هنر» را دارد.

اولاً، متن مبدأ یک برنامه رایانه ای ویژگی های یک اثر ادبی مکتوب را دارد. این شباهت با این واقعیت تکمیل می شود که متن یک برنامه کامپیوتری را می توان به زبان های برنامه نویسی مختلف - اسمبلی، سی، جاوا، ماژول، پاسکال، بیسیک و غیره، مانند هر اثر ادبی دیگر - به زبان های انگلیسی، روسی، نوشت. ژاپنی و غیره .d.

ثانیاً، الگوریتم‌ها، روش‌ها، ایده‌ها، نظریه‌ها، فرمول‌های مورد استفاده در توسعه یک برنامه رایانه‌ای ویژگی‌های یک کار علمی را به آن می‌دهند.

ثالثاً نمایش‌های سمعی و بصری، انیمیشن‌ها و گرافیک‌های ایجاد شده توسط یک برنامه رایانه‌ای ویژگی‌های یک اثر هنری را دارند.

حفاظت از برنامه های رایانه ای به عنوان آثار ادبی حاوی تعدادی مقررات مهم است که نیاز به توضیح دارد. با توجه به اهمیت ویژه برنامه های کامپیوتری، توصیه می شود که این مفاد به طور جداگانه در نظر گرفته شود.

1. استقلال حفاظت از برنامه های کامپیوتری بسته به نوع آنها. قوانین ملی به طور کلی پیش بینی می کند که حمایت قانونی شامل همه انواع نرم افزارها، از جمله برنامه های کاربردی و سیستم عامل ها می شود. این فرمول اضافی به نظر می رسد، زیرا برنامه های کامپیوتری به سیستم عامل یا برنامه های کاربردی اشاره دارند. در یک سیستم غیر عامل، برنامه های کاربردی را نمی توان اجرا کرد، زیرا هر سیستم عامل محیطی را تشکیل می دهد که سایر برنامه های کاربردی در آن اجرا می شوند.

تعداد سیستم عامل ها کم است (ویندوز، یونیکس، لینوکس، MacOS، BeOS، FreeBSD، OS/2، DOS و غیره). از سوی دیگر، تعداد برنامه های کاربردی بسیار زیاد است: برای هر سیستم عامل هزاران و ده ها هزار برنامه کاربردی وجود دارد. برنامه های کاربردی عموماً فقط بر روی سیستم عاملی که برای آن نوشته و کامپایل شده اند قابل اجرا هستند. برنامه های شبیه ساز خاصی (WINE، CrossOver، VMachine) وجود دارند که به شما اجازه می دهند برخی از برنامه های نوشته شده برای یک سیستم عامل خاص را در محیط یک سیستم عامل دیگر اجرا کنید.

2. استقلال حفاظت از برنامه های کامپیوتری از زبان برنامه نویسی. استقلال حفاظت از یک برنامه رایانه ای از زبان برنامه نویسی به همان اندازه آشکار است که استقلال حفاظت از یک اثر ادبی از زبانی که چنین اثری در آن ایجاد شده است. با این حال، برخلاف خواننده یک اثر ادبی، اکثر کاربران نه تنها نمی دانند که اثر با چه زبان برنامه نویسی نوشته شده است. این برنامه، بلکه زبان های برنامه نویسی نیز وجود دارند. علاوه بر این، بر خلاف یک اثر ادبی، ماژول های جداگانه برنامه های کامپیوتری را می توان در آن نوشت زبان های مختلفبرنامه نویسی

3. استقلال حفاظت از برنامه های رایانه ای از شکل بیان. معاهدات بین المللی و قوانین ملی حفاظت از برنامه های رایانه ای را در قالب موارد زیر به رسمیت می شناسند:

کد منبع یا متن؛

شی یا کد خروجی

با این حال، این دو نوع یا شکل از برنامه‌های رایانه‌ای از ابتدای «انقلاب رایانه‌ای» وجود داشته‌اند، و هر دو شکل در واقع کاملاً محافظت شده‌اند و نیاز خاصی به حمایت قانونی ندارند. نکته این است که:

کد منبع برنامه های کامپیوتری اطلاعات محرمانه سازنده است و بنابراین فاش نمی شود.

کدهای شی یک برنامه کامپیوتری از نظر فنی امن هستند.

متن یک برنامه کامپیوتری نمی تواند عملکردهایی را که برای آن ایجاد شده است انجام دهد. کد منبع یک برنامه کامپیوتری برای ایجاد یک برنامه کامپیوتری کارآمد ضروری است که با کمک یک کامپیوتر بتواند هر کاری را که برنامه نویس در نظر دارد انجام دهد. برای این منظور، متن مبدأ به شکل دیجیتالی که شامل ماژول های اجرایی، کتابخانه و سایر برنامه ها است، کامپایل می شود. مجموعه ای از این ماژول ها یک برنامه کامپیوتری کارآمد است که تمام عملکردهایی را که برای آنها ایجاد شده است انجام می دهد. کامپایل متن منبع با استفاده از یک کامپایلر - یک برنامه کامپیوتری خاص انجام می شود.

برای فروش یک برنامه کامپیوتری در بازار، در بیشتر موارد، انتقال کد شی (قابل اجرا، کتابخانه و سایر ماژول های برنامه) به یک رسانه ملموس (معمولا سی دی یا دی وی دی)، افزودن اسناد، بسته بندی و دریافت یک برنامه کافی نیست. محصول کامپیوتری با یک نام یا نام دیگر.

در حال حاضر، در اکثریت قریب به اتفاق موارد، یک نصب کننده برنامه کامپیوتری بر روی یک رسانه ملموس تجسم می یابد که از ماژول های خاص یک برنامه کامپیوتری کار بر روی کامپیوتر خریدار ایجاد می کند. تنها پس از نصب یک برنامه کامپیوتری بر روی رایانه کاربر می تواند عملکردهایی را که برای آن ایجاد شده است انجام دهد.

به عبارت دیگر، در محصولی که برای نصب یک برنامه رایانه ای بر روی رایانه کاربر استفاده می شود، در بیشتر موارد هیچ برنامه فعالی وجود ندارد، بنابراین محصول خریداری شده را نمی توان به درایو دیسک رایانه وارد کرد و شروع به استفاده از برنامه رایانه ای کرد: باید ابتدا بر روی کامپیوتر نصب شود. فقط ساده ترین یا برنامه های خاص ایجاد شده (برنامه های قابل حمل و سی دی زنده) را می توان از رسانه های فیزیکی راه اندازی کرد. بنابراین، یک محصول کامپیوتری ارائه شده توسط یک تولید کننده در واقع شامل یک برنامه کامپیوتری نیست، بلکه ماژول های خاصی به نام توزیع برنامه کامپیوتری است.

بنابراین، حفاظت از یک برنامه کامپیوتری باید نه تنها به منبع و کد نهایی، بلکه به شکل متوسط ​​و تجاری برنامه کامپیوتری - به کیت توزیع برنامه کامپیوتری نیز گسترش یابد.

بنابراین، برنامه های کامپیوتری مدرن حداقل به سه شکل وجود دارند:

1) یک برنامه کامپیوتری در شکل یا متن اصلی آن؛

2) کیت توزیع یک برنامه کامپیوتری؛

3) یک برنامه کامپیوتری عامل به شکل نهایی یا شیء.

از معنای معاهدات بین المللی *(144) و قوانین ملی *(145) نتیجه این است که حفاظت از حق چاپ به همه اشکال برنامه های رایانه ای، یعنی. و توزیع آنها

همانطور که در بالا ذکر شد، کد منبع برنامه توسط توسعه دهنده و سازنده محافظت می شود. بالاترین سطحمحرمانه بودن، و کد نهایی از نظر فنی امن است و کپی کردن آن در رایانه دیگری منطقی نیست. از سوی دیگر، توزیع برنامه های کامپیوتری در اکثر موارد به راحتی کپی می شود. توزیع برنامه رایانه ای آسیب پذیرترین شکل برنامه های رایانه ای است.

به ویژه باید تأکید کرد که برنامه های رایانه ای در قالب یک کیت توزیع یا یک برنامه عملیاتی از نظر فنی در برابر تغییرات قابل توجه محافظت می شوند. دلیل آن این است که کامپایل کد منبع یک برنامه به شکل دیجیتال یک فرآیند برگشت ناپذیر است، یعنی. به دست آوردن سورس کد کامل یک برنامه با دیکامپایل غیرممکن است. هنگامی که برنامه های کامپیوتری ساده بودند، با کمک برنامه های خاص (اشکال زدا)، یک برنامه نویس (هکر) واجد شرایط می توانست برخی از ویژگی های کد منبع برنامه را ایجاد کند و برخی از تغییرات را در شکل فعلی برنامه ایجاد کند، به عنوان مثال، برخی از آنها را جایگزین کند. صحبت با دیگران، شکستن محافظت در برابر نصب یا کپی غیرمجاز. با این حال، نمی توان تغییرات قابل توجهی در فرم دیجیتال برنامه ایجاد کرد.

با ظهور برنامه های مدرن هیولا، حذف کامل برنامه ها تقریباً بی معنی شده است، اگرچه "هک کردن" برنامه ها همچنان ادامه دارد، به عنوان مثال، به منظور عملکرد کامل نسخه آزمایشی (نسخه آزمایشی) برنامه، دور زدن ثبت برنامه (سریال) شماره، پچ)، ایجاد شماره ثبت (کلید ژنراتور) و غیره.

4. حفاظت از متون برنامه های کامپیوتری. تحت مدل برنامه های کامپیوتری تجاری، کد منبع برنامه ها متعلق به سازندگان برنامه های کامپیوتری است و به عنوان اطلاعات اختصاصی محافظت می شود.

وضعیت در سال‌های اخیر تغییر کرده است، زمانی که رقابت واقعی برای برنامه‌های کامپیوتری تجاری (تخصصی) از نرم‌افزار آزاد به وجود آمد. محصولات نرم افزاری. علاوه بر این، اگر در ابتدا صحبت از برنامه های به اصطلاح رایگان (Freeware) و اشتراک افزار (Shareware) بود، ظهور برنامه هایی با متن ها یا کدهای منبع رایگان منجر به تغییر وضعیت در بازار نرم افزار شد.

برنامه هایی با تست های منبع باز (رایگان) (Open Source) رقابت جدی برای محصولات نرم افزاری تجاری ایجاد کرده اند. علاوه بر این، بسیاری از مهم ترین اجزای نرم افزار اینترنت، برنامه های متن باز هستند. محصولات نرم افزاری ایجاد شدند که نه تنها در بین کاربران عادی محبوب شدند، بلکه به حوزه شرکتی نیز حمله کردند که تحت سلطه تولیدکنندگان بزرگ نرم افزار کامپیوتری مانند مایکروسافت، ادوبی، آی بی ام، اوراکل، اپل، ناول و غیره است.

بیشترین برنامه های شناخته شدهسیستم عامل متن باز لینوکس است. سیستم عامللینوکس در سال 1991 توسط L. Thorvald توسعه یافت و به عنوان نرم افزار رایگان در اینترنت در دسترس است. این سیستم گسترده ترین پشتیبانی را از برنامه نویسان در سراسر جهان دریافت کرد.

در حال حاضر زمان لینوکسیک سیستم عامل قابل اعتماد و محبوب است که در بخش های شرکتی، دولتی و نظامی استفاده می شود. در سال های اخیر تعداد کاربران این سیستم عامل افزایش یافته است این روند در آینده نیز ادامه خواهد داشت. علاوه بر این، بسیاری از کشورها به جای استفاده از لینوکس تلاش می کنند برنامه های مایکروسافتبه چند دلیل، از جمله دلایل مربوط به امنیت اطلاعات.

بنابراین، محصولات نرم افزاری منبع باز پدیده ای قابل توجه در بازار نرم افزار هستند. توسعه این نوع نرم افزار توسط شرکت هایی مانند IBM، Sun، Intel، Oracle، Corel پشتیبانی می شود، اما به طور عمده به عنوان جایگزینی برای مایکروسافت ویندوز.

تئوری و عمل برنامه های کامپیوتری منبع باز توسط بنیاد نرم افزار آزاد (FSF) تعریف شده است. اصل اصلی این بنیاد این است که کد منبع برنامه ها باید باز، در دسترس عموم و رایگان باشد. چنین برنامه هایی را می توان مطالعه، اصلاح، استفاده و توزیع کرد.

استفاده از برنامه‌های رایانه‌ای منبع باز تابع شرایط متفاوتی نسبت به استفاده از محصولات نرم‌افزاری تجاری است و تحت مجوزهای خاصی است که رایج‌ترین آنها مجوز عمومی عمومی (GPL) است.

ویژگی اصلی تقریباً هر مجوز برنامه کامپیوتری منبع باز، به اصطلاح اصل "کپی لفت" است. این اصل را چنین نئولوژیسمی می نامند تا تفاوت اساسی آن با اصل کپی رایت (CopyRight) نشان داده شود، علیرغم اینکه خود برنامه ها توسط قانون کپی رایت محافظت می شوند.

بر اساس اصل کپی‌لفت، نویسنده یک برنامه کامپیوتری منبع باز به هر کسی اجازه می‌دهد تا از آن کد برای توسعه محصول نرم‌افزاری دیگری استفاده کند، مشروط بر اینکه آن توسعه‌دهنده کد منبع را در دسترس کاربران دیگر قرار دهد. به این ترتیب منبع باز از برنامه اصلی به هر برنامه توسعه یافته دیگری منتقل می شود. بنابراین، اصل "کپی لفت" گسترش، نه یک محدودیت، حق چاپ است که در درجه اول با هدف ایجاد بازاری برای برنامه های رایانه ای رایگان است.

باید تاکید کرد که کپی رایت و "کپی لفت" تنها در اصول استفاده از برنامه های کامپیوتری با هم تفاوت دارند. مجوز یک برنامه کامپیوتری تجاری، حق استفاده از آن را به یک کاربر یا گروهی از افراد در این رویداد اعطا می کند نسخه شبکهبرنامه ها مجوزهای نرم افزار رایگان حق استفاده از کد منبع باز را به هر کاربری می دهد. در هر دو مورد، نقض شرایط مجوز برای برنامه های رایانه ای به معنای نقض حق چاپ است برنامه اصلیصرف نظر از اینکه این برنامه تجاری است یا رایگان. بنابراین، قانون کپی رایت از حقوق و منافع نویسنده و تولید کننده هر برنامه رایانه ای محافظت می کند.

ظهور مفهوم محصولات کامپیوتری رایگان، که توسط محصولات نرم افزاری درجه یک پشتیبانی می شود، یک پیشرفت مثبت است. برنامه های رایانه ای رایگان با محصولات نرم افزاری تجاری رقابت می کنند که به بهبود سطح محصولات نرم افزاری در جهت منافع جامعه به عنوان یک کل و هر کاربر به ویژه کمک می کند.

5. نام برنامه های کامپیوتری. نام برنامه های رایانه ای اغلب به عنوان علائم تجاری محافظت می شود. این تفاوت بین برنامه های کامپیوتری و بسیاری از انواع دیگر آثار است که عناوین آنها را فقط در صورتی می توان توسط کپی رایت محافظت کرد که بتوان آنها را نتیجه کار خلاقانه دانست. اگر عنوان اثر حاوی چیزهای کیفی جدید، تکرار نشدنی، منحصر به فرد و بدیع باشد. حفاظت از نام آثار به عنوان علائم تجاری نیز معمولی است پایگاه های اطلاعاتی الکترونیکیداده ها، سمعی و بصری، چند رسانه ای، شبکه و برخی از انواع دیگر آثار.

6. دیکامپایل برنامه های کامپیوتری. مشکلات مربوط به استفاده از برنامه های کامپیوتری در سال های اخیر حادتر شده است. تثبیت قانونی حفاظت از برنامه های رایانه ای در اکثر کشورها تحت شرایط تسلط بر محصولات نرم افزاری و تجهیزات رایانه ای که عمدتاً توسط IBM و DEC تولید می شدند انجام شد. در آن زمان، بسیاری از کشورهای اروپایی مطمئن بودند که اگر به توسعه دهندگان برنامه های رایانه ای خود حق کامپایل کردن برنامه های رایانه ای را بدهند، می توانند به پای ایالات متحده برسند. دریافت کد منبع یک برنامه از یک برنامه کامپایل شده

دیکامپایل همچنان توسط اکثر کشورها به عنوان نوشدارویی برای گسترش محصولات نرم افزاری رقابتی تلقی می شود. حق کامپایل توسط تعدادی از معاهدات بین المللی، مقررات نمونه و قوانین ملی به رسمیت شناخته شده است. شناخته شده ترین سند در این زمینه دستورالعمل اتحادیه اروپا در مورد حمایت قانونی از برنامه های رایانه ای است. 6 تای آن به دیکامپایل برنامه های کامپیوتری اختصاص دارد.

کشورهای اتحادیه اروپا مقررات مشابهی را در قوانین ملی خود گنجانده اند. مثلا قانون کپی رایت فرانسه *(146) هنر L.122-6-1.-IV تقریبا کلمه به کلمه تکرار هنر. 6 دستورالعمل اتحادیه اروپا در قانون کپی رایت دانمارک هنر. 37 نیز محتوای هنجار فوق را تکرار می کند. در قانون کپی رایت و حقوق مرتبطآه هنر آلمان 69e همه هنجارهای مشابه دستورالعمل اتحادیه اروپا را تکرار می کند *(147) . حتی در قانون کپی رایت سوئیس که عضو اتحادیه اروپا نیست، هنر. 21 همچنین در مورد رمزگشایی مستقیم برنامه های رایانه ای صحبت می کند *(148) .

حق دکامپایل برنامه های رایانه ای نیز در قانون مدنی تأیید شده است فدراسیون روسیه. مطابق با هنر. بند 3 1280 قانون مدنی: «شخصی که قانوناً مالک یک نسخه از یک برنامه رایانه ای است، این حق را دارد که بدون رضایت صاحب حق چاپ و بدون پرداخت حق الزحمه اضافی، کد شیء را به متن مبدأ تکثیر و تبدیل کند. برنامه کامپیوتری)” *(149) . توسعه‌دهندگان نادیده گرفته شده‌اند یا نمی‌دانند که دریافت کد منبع کامل از کد شی غیرممکن است.

هنجارهای مشابهی در قوانین سایر کشورهای دارای اقتصاد در حال گذار وجود دارد، به استثنای جمهوری بلاروس.

مقررات مربوط به حق کامپایل کردن برنامه‌های رایانه‌ای بحث‌برانگیز بوده است، زیرا قانون مجبور شده است آنچه را که قرار بود ممنوع کند، مجاز کند. از سوی دیگر، معلوم شد که این مقررات مرده متولد شده اند، زیرا حذف برنامه های رایانه ای غیرممکن است. با این حال، برگشت ناپذیری تدوین برای سیاستمداران و حقوقدانان، که هنجارهای پوچ حقوق بین الملل را پذیرفته بودند، شناخته شده نبود. این تنها نمونه ای نیست که بی سوادی حقوقدانان و سیاستمداران در مسائل علمی و فنی منجر به هنجارهای حقوقی مضحک می شود.

7. تطبیق برنامه های کامپیوتری. در قوانین تعدادی از کشورها، به جای مقرراتی در مورد انطباق برنامه های رایانه ای، قوانینی در مورد انطباق برنامه های رایانه ای ارائه شده است که معنای کمی متفاوت، اما اساساً هدف مشابهی دارد. فرض بر این است که شخصی که به طور قانونی دارای یک نسخه از یک برنامه رایانه ای است، حق دارد آن را برای اطمینان از همکاری با برنامه هایی که توسعه می دهد، تطبیق دهد. این هنجار فاقد معنا و منطق است، زیرا خود توسعه دهنده باید برنامه هایی را ایجاد کند که بتواند با برنامه هایی که قبلا ایجاد شده است کار کند و برنامه های افراد دیگر را تغییر ندهد. تنها چیزی که برای "آداپتور" ممنوع است استفاده از اطلاعات به دست آمده در طول سازگاری است برنامه های شخص ثالث، برای ایجاد برنامه های کامپیوتری مشابه. با این حال، ایجاد محصولات رقابتی با استفاده از روش‌های مهندسی مجدد است که هدف واقعی «انطباق» است.

مفهوم انطباق برنامه های رایانه ای، که در قوانین تعدادی از کشورها ذکر شده است، به طور صریح یا ضمنی برای ایجاد محصولات رقابتی در نظر گرفته شده است.

اشکال متداول سازگاری بسته های خدماتی و انواع وصله ها هستند، به عنوان مثال. برنامه های رایانه ای اضافی که برنامه اصلی رایانه یا نحوه عملکرد آن را در ارتباط با سایر برنامه ها بهبود می بخشد. با این حال، چنین "وصله های" توسط توسعه دهندگان برنامه منتشر می شود، نه کاربران. «وصله‌های اصلاحی» سایر توسعه‌دهندگان اغلب وسیله‌ای برای دسترسی غیرمجاز به محتویات برنامه رایانه‌ای مورد مطالعه است.

8. تکثیر رایگان برنامه های کامپیوتری. بر اساس قوانین اکثر کشورها، هر شخصی که به طور قانونی توزیع یک برنامه کامپیوتری را در اختیار دارد، حق دارد یک نسخه آرشیوی از آن تهیه کند تا در صورت مفقود شدن، از بین رفتن یا غیرقابل استفاده شدن، آن را جایگزین کند.

این هنجار مطابق با محتوای قراردادهای مجوز است که توسط تولید کنندگان آنها به توزیع برنامه های رایانه ای پیوست شده است. لازم به ذکر است که حق اعطا شده برای ایجاد یک نسخه بایگانی ممکن است یک اعلامیه ساده باشد در صورتی که نسخه بایگانی قبل از نصب برنامه ساخته نشده باشد.

به عبارت دیگر، اعطای حق به شخصی که به طور قانونی مالک یک کیت توزیع یک برنامه کامپیوتری است، باید به عنوان حق کپی کردن کیت توزیع برنامه به منظور بازیابی بعدی کیت توزیع و نصب آن تلقی شود. برنامه مطابق با شرایط توافق نامه مجوز پیوست شده به کیت توزیع برنامه رایانه ای.

هنگام ایجاد کپی از توزیع برنامه های رایانه ای مشکلاتی وجود دارد. با توجه به پیچیدگی استثنایی برنامه های کامپیوتری مدرن، برای مثال، به سادگی فایل ها را از توزیع به رسانه دیگری کپی کنید هارد دیسک، همیشه به شما اجازه نمی دهد از حق اعطا شده استفاده کنید، زیرا در این مورد، نصب برنامه ممکن است (و معمولاً غیرممکن باشد) به عنوان مثال، در مورد کپی کردن یک توزیع سیستم عامل. بدون شک می توان به اصطلاح "تصویر دیسک برنامه" ایجاد کرد. اما آیا آن را یک کپی آرشیوی از برنامه در نظر می گیرند؟ از این گذشته ، برای بازیابی برنامه ، این تصویر باید به سی دی دیگری منتقل شود ، یعنی. یک کپی دیگر از برنامه ایجاد کنید. با این حال، قانون حق ایجاد نسخه دیگری را فراهم نمی کند. به عبارت دیگر کاربر خود را در تله قانونی می بیند. مشکلات دیگری نیز وجود دارد که در این نشریه به آنها نمی پردازیم.

ایجاد رفتار منطقی کاربر آسان است. اگر برنامه ای که به طور قانونی به دست آمده است فقط توسط خود کاربر استفاده می شود، مهم نیست که او چگونه یک نسخه آرشیو کار ایجاد می کند. اگر نسخه بایگانی شده موضوع مبادله (مستقیم یا مجازی) شود، ممکن است منافع سازنده نقض شود. بنابراین، چنین اقدامات کاربر غیرقانونی است.

یکی دیگر از مشکلات استفاده از برنامه های کامپیوتری، امکان نصب آنها بر روی چندین کامپیوتر است. به طور معمول، مطابق با شرایط توافق نامه مجوز، شخصی که به طور قانونی یک کیت توزیع یک برنامه رایانه ای را در اختیار دارد، می تواند این برنامه را در یک رایانه یا در مورد نسخه شبکه ای برنامه بر روی چندین رایانه نصب کند. بسیاری از تولیدکنندگان نرم افزارهای کامپیوتری به شما این امکان را می دهند که برنامه مشابهی را نه تنها بر روی یک کامپیوتر اداری، بلکه بر روی یک کامپیوتر قابل حمل، مانند لپ تاپ، فقط برای کار خود نصب کنید. این مجوز فقط برای کاربر اصلی رایانه اداری اعمال می شود. به شخصی که با او کار می کند کامپیوتر اداریبیشتر اوقات علاوه بر این، برنامه کامپیوتری باید بر روی یک کامپیوتر محلی نصب شود نه بر روی یک کامپیوتر اداری تحت شبکه.

نصب غیرمجاز یک برنامه کامپیوتری بر روی چندین کامپیوتر یکی از اشکال رایج نقض کپی رایت در کشورهای توسعه یافته و حتی در سازمان های دولتی به ویژه ایالات متحده در نظر گرفته می شود. *(150) . از آنجایی که مجوز نصب یک برنامه کامپیوتری روی چندین کامپیوتر بسیار ارزان‌تر از مجوز یک کاربره است، بسیاری از سازمان‌ها، از جمله سازمان‌های دولتی، اغلب به منظور صرفه‌جویی در هزینه، حق چاپ را نقض می‌کنند.

9. موافقتنامه مجوز برای برنامه کامپیوتری. قانون کپی رایت استفاده از آثار را تنها بر اساس توافق نامه کتبی مجاز می داند. اما در برخی موارد امکان انعقاد چنین قراردادهایی وجود ندارد. به عنوان مثال، یک سازنده برنامه کامپیوتری نمی تواند با هزاران یا میلیون ها کاربر قرارداد ببندد. بنابراین، برنامه های کامپیوتری در اکثر موارد با قراردادهای مجوز توزیع می شوند که خریدار می تواند بدون انعقاد قرارداد کتبی با شرایط آن موافقت کند یا خیر.

روش انعقاد چنین توافقنامه مجوز بستگی به نحوه دستیابی خریدار به برنامه دارد - در قالب یک کیت توزیع فیزیکی یا به صورت یک کپی دیجیتال در اینترنت.

در حالت اول، در صورتی که شرایط استفاده از برنامه کامپیوتری بر این اساس بر روی کیت توزیع برنامه کامپیوتری تنظیم شده باشد، توافق بین سازنده برنامه کامپیوتری و کاربر به صورت کتبی منعقد می شود. به عبارت دیگر، هر کسی که یک برنامه کامپیوتری را خریداری می کند، این حق را دارد که با شرایط قرارداد مجوز همراه موافقت یا مخالفت کند. تایید پذیرش شرایط قرارداد مجوز، استفاده بیشتر از کیت توزیع برنامه های کامپیوتری است و عدم پذیرش، بازگرداندن کیت توزیع به فروشنده است که گاهی انجام آن به شدت دشوار یا غیرممکن است. کارت های ثبت نام و غیره پیوست شده به کیت توزیع برنامه کامپیوتری هیچ ارتباطی با پذیرش یا عدم پذیرش شرایط قرارداد مجوز ندارند.

اگر برنامه به صورت نسخه دیجیتالی در اینترنت خریداری شود، کاربر باید ابتدا هزینه کیت توزیع برنامه کامپیوتری را بپردازد و سپس آن را در رایانه خود کپی کند. هنگام نصب این برنامه، شرایط توافق نامه مجوز به کاربر ارائه می شود که می تواند قبول کند یا خیر. با این حال، این تنها یک آزادی انتخاب رسمی است، زیرا برنامه برای آن پول پرداخت شده است و بازگشت آن و بازپرداخت وجه تقریباً غیرممکن است. اگر کاربر با شرایط توافق نامه مجوز موافقت کند، اما از ویژگی های عملکردی برنامه راضی نباشد، دقیقاً در همان وضعیت بن بست قرار می گیرد.

10. اجاره برنامه های کامپیوتری. در سطح بین‌المللی، قوانینی در مورد اجاره برنامه‌های رایانه‌ای در توافقنامه TRIPS و در معاهده حق نسخه‌برداری WIPO وضع شده است که بر اساس آن نویسندگان برنامه‌های رایانه‌ای از حق مجوز اجاره توزیع برنامه‌های رایانه‌ای خود برخوردار هستند. با این حال، اگر برنامه رایانه ای خود موضوع اصلی اجاره نباشد، حق اجاره اعمال نمی شود.

لازم به تاکید است که صاحب حق چاپ یک برنامه رایانه ای بدون توجه به مالکیت کیت های توزیع برنامه های رایانه ای، حق اجرای یا مجوز اجاره کیت های توزیع برنامه های رایانه ای را دارد.

بنابراین، اگر یک برنامه رایانه ای هدف اصلی اجاره باشد، آنگاه فقط با اجازه دارنده حق چاپ امکان پذیر است (به عنوان مثال، اجاره توزیع برنامه های رایانه ای فقط با رضایت سازنده برنامه امکان پذیر است). اگر برنامه رایانه ای موضوع اصلی اجاره نباشد، حق اجاره به دارنده حق چاپ تعلق نمی گیرد (به عنوان مثال، اجاره دستگاه های فنی که شامل برنامه های رایانه ای است نیازی به مجوز از دارنده حق چاپ برای برنامه رایانه ای ندارد).

باید اذعان داشت که اجاره توزیع برنامه های کامپیوتری به اندازه اجاره گرامافون، ویدئو و غیره گسترده نیست.

11. قابلیت ثبت اختراع برنامه های کامپیوتری. مطابق با قوانین کپی رایت مدرن مندرج در معاهدات بین‌المللی، برنامه‌های رایانه‌ای به عنوان موضوع حق چاپ شناخته می‌شوند. از سوی دیگر، یک برنامه کامپیوتری ممکن است بخشی از یک فرآیند تکنولوژیکی باشد، دستگاه فنیو غیره و همراه با آنها ممکن است موضوع حمایت از اختراع باشد.

با این حال، اصل پیشنهاد شده توسط معاهده حق چاپ WIPO در رابطه با اجاره برنامه های رایانه ای در اینجا اعمال می شود، mutatis mutandis. به عبارت دیگر، اگر یک برنامه کامپیوتری جزء اصلی روش، روش، دستگاه و غیره ثبت اختراع نباشد، ممکن است تحت حمایت حق ثبت اختراع قرار گیرد.

در تعدادی از کشورها، تحت فشار تولیدکنندگان بزرگ نرم افزارهای کامپیوتری، دفاتر ثبت اختراع، برنامه های کامپیوتری را ثبت اختراع می کنند. چنین ثبت اختراعی به طور گسترده در ایالات متحده آمریکا، ژاپن و اتحادیه اروپا انجام می شود. علیرغم این واقعیت که کنوانسیون ثبت اختراع اروپا برنامه های رایانه ای را به عنوان موضوع حمایت از پتنت به رسمیت نمی شناسد، اداره ثبت اختراع اروپا از سال 1978 بیش از 30 هزار اختراع برای برنامه های رایانه ای صادر کرده است. برای قانونی کردن این فعالیت، که مغایر با کنوانسیون ثبت اختراع اروپا است، پیش‌نویس دستورالعمل اتحادیه اروپا در مورد ثبت اختراعات مربوط به برنامه‌های رایانه‌ای در سال 2002 تهیه شد. این ابتکار واکنش بسیار منفی اکثر برنامه نویسان را به همراه داشت که آن را به عنوان تمایل تولیدکنندگان بزرگ برنامه های کامپیوتری برای تقویت موقعیت انحصاری خود تفسیر کردند، زیرا برنامه نویسان فردی و همچنین شرکت های کوچک و متوسط، از جمله شرکت های سرمایه گذاری خطرپذیر، نمی توانند حمایت از حق ثبت اختراع را تامین کنید، که هم برای به دست آوردن اسناد حفاظتی و هم برای حفظ آنها به منابع مالی قابل توجهی نیاز دارد. تاکنون، رهبری اتحادیه اروپا نتوانسته است این دستورالعمل را تصویب کند.

12. محدودیت در توسعه بدافزار. با توجه به برنامه های رایانه ای، محدودیت هایی نه چندان در محتوای متن های مبدأ برنامه های رایانه ای، بلکه در مورد هدف و استفاده از برنامه ها اعمال می شود.

در بسیاری از موارد، قوانین به طور مستقیم یا غیرمستقیم توسعه برخی برنامه های کامپیوتری را ممنوع یا محدود می کند. علاوه بر این، محدودیت هایی برای جلوگیری از نقض نه تنها کپی رایت، بلکه حقوق مرتبط و همچنین برای جلوگیری از سایر اقدامات ممنوعه اعمال می شود.

از هر برنامه رایانه ای می توان برای نقض حق چاپ و حقوق مرتبط استفاده کرد - همه اینها به تخیل و پیچیدگی بی پروا کاربر بستگی دارد. حتی ساده ترین فرمان سیستم عامل مرتبط با کپی کردن فایل ها را می توان اقدامی در نظر گرفت که می تواند منجر به نقض کپی رایت یا حقوق مربوط به آن شود، زیرا هرگونه کپی برداری غیرمجاز نقض قانون تلقی می شود. چنین اقدامات غیرقانونی در بیانیه های توافق شده به معاهده حق نسخه برداری WIPO و پیمان عملکرد و آواگرام WIPO نشان داده شده است. طبق این اظهارات توافق شده، قرار دادن یک اثر دارای حق چاپ یا حقوق مرتبط "به شکل دیجیتال در یک رسانه الکترونیکی به منزله بازتولید است" *(151) . قانون کپی رایت و حقوق مربوطه، حق تکثیر را به عنوان یکی از حقوق مالکیت انحصاری طبقه بندی می کند و قرار دادن یک شی در رسانه الکترونیکی را فقط با اجازه صاحب حق چاپ قانونی می کند. بنابراین، این توانایی ارائه شده توسط یک برنامه رایانه ای برای انجام اقدامات غیرقانونی نیست که نقض قانون تلقی می شود، بلکه اقدامات کاربر است. در صورت نقض کپی رایت یا حقوق مرتبط، باید اقداماتی را نه علیه توسعه دهندگان برنامه های کامپیوتری همه منظوره، بلکه علیه آن دسته از کاربرانی انجام داد که با استفاده از برنامه های پردازش متن، صدا و تصویر، تشخیص کاراکتر، اقدامات غیرقانونی انجام می دهند. ترجمه ماشینیو غیره

اگر از برنامه‌های همه‌منظوره استفاده نشود، بلکه از برنامه‌هایی که به‌طور خاص برای نقض کپی رایت و حقوق مرتبط طراحی شده‌اند، استفاده شود، وضعیت تغییر می‌کند. انجام اقدامات یا ارائه خدماتی که آگاهانه یا با دلایل منطقی انجام می شود تا بداند که در نقض حقوق معنوی نقش دارد.

اولاً، توسعه و استفاده از برنامه‌های رایانه‌ای که دور زدن هرگونه ابزار فنی طراحی شده برای حمایت از حق چاپ و حقوق مرتبط را مجاز یا تسهیل می‌کند و هدف تجاری اصلی یا نتیجه تجاری اصلی آن دور زدن چنین ابزارهایی است، ممنوع است.

ثانیاً، توسعه و استفاده از برنامه‌های رایانه‌ای که اطلاعات مدیریت حقوق الکترونیکی را حذف یا تغییر می‌دهند، بدون اجازه صاحب حق چاپ ممنوع است.

اگر یک برنامه رایانه ای به طور خاص برای نقض کپی رایت و حقوق مرتبط طراحی شده باشد، مسئولیت نقض حقوق بر عهده توسعه دهنده، سازنده و کاربر آن است. از آنجایی که چنین برنامه هایی عمداً برای نقض کپی رایت و حقوق مربوطه طراحی شده اند، مخرب تلقی می شوند. توسعه، تولید و استفاده از برنامه های کامپیوتری مخرب منجر به نقض قوانین، از جمله قوانین جنایی می شود. به عنوان مثال، توسعه برنامه های کامپیوتری یا ایجاد تغییرات در برنامه های موجود به منظور تخریب غیرمجاز، مسدود کردن، اصلاح یا کپی اطلاعات ذخیره شده در یک سیستم کامپیوتری، شبکه یا رسانه کامپیوتری، یا توسعه برنامه های ویروسی خاص، یا استفاده آگاهانه از آنها. ، یا توزیع رسانه با چنین برنامه هایی ممکن است با جریمه نقدی، بازداشت، محدودیت یا حبس مجازات شود. همین اقدامات ناشی از هرگونه اقدام مرتبط با توسعه، تولید و استفاده از برنامه‌های رایانه‌ای است که برای مسدود کردن هرگونه ابزار فنی استفاده شده توسط دارندگان حق چاپ برای محافظت از حقوق مالکیت خود، و همچنین هرگونه اندازه‌گیری یا حذف اطلاعات در مورد مدیریت حقوق مالکیت انحصاری طراحی شده است. .