Е.А. Даніліна, А.В. Карпова
Джерела правового регулювання програм для ЕОМ
В даний час охорона програм для ЕОМ як об’єкта виключного права регулюється
в Росії двома законами: «Про правову охорону програм для електронних обчислювальних
машин і баз даних» і «Про авторське право і суміжні права». При
цьому прийнятий у 1993 р. Закон про авторське право майже у всіх позиціях скасував
більш ранній, прийнятий у 1992 р., Закон про правову охорону програм для ЕОМ.
Виключенням є його ст. 13, присвячена праву на реєстрацію програми для ЕОМ і
яка включає норму про обов’язкову реєстрацію договору про повну поступку всіх
майнових прав на зареєстровану програму.
Про застосування і взаємодію двох згаданих законів неодноразово висловлював
свою думку проф. Э.П.Гаврилов. Так, він пише: «Закон «Про правову
охорону програм для ЕОМ і баз даних» в основній своїй частині повторюється
в Законі про авторське право і суміжні права. При цьому в декількох випадках
текст Закону уточнюється, змінюється. Тому при наявності розбіжностей між цими
законами повинний мати силу Закон про авторське право і суміжні права, зокрема
і тому, що він був прийнятий пізніше. З цього загального правила є наступні
виключення: ст. 13 Закону про правову охорону програм для ЕОМ ... зберігає свою
силу; п. 3 ст. 14 закону про комп’ютерні програми ... зберігає силу... Всі інші
норми закону про комп’ютерні програми і бази даних поглинені і скасовані Законом»
[1] (по контексту — законом РФ «Про авторське право і суміжні права». — Прим. авт. статті).
Ідеї, висловлені в коментарі, розвиті Э.П.Гаврилов у статті «Охорона комп’ютерних
програм: який закон варто застосовувати?» [2]. У ній він обґрунтовує думку
про те, що «норми Закону 1992 р. скасовані нормами Закону 1993 р.»,
а «питання про дію ст. 13 вимагає додаткового вивчення».
Після прийняття двох основних законів, що регулюють правовий режим програм
для ЕОМ, велася полеміка про тім, норми якого з них варто застосовувати. Дотепер
у літературі, присвяченої цьому питанню, зустрічаються різні думки.
Так, Г.В.Віталієв вважає, що «у Законі про авторське право і суміжні права
міститься також ряд норм, що уточнюють і розвивають окремі положення Закону
про правову охорону програм для ЕОМ і баз даних» [3].
Л.С.Сімкін приводить доводи, почасти спрямовані проти думки Э.П. Гаврилова.
Зокрема, Л.С.Сімкін пише: «У літературі висловлено думка, відповідно до
якої при наявності розбіжностей між цими законами повинний мати силу Закон про
авторське право і суміжні права, оскільки був прийнятий пізніше. Названі закони
співвідносяться між собою як загальний і спеціальний, у зв’язку з чим приведений
висновок не зовсім точний. Так, наприклад, Закон про авторське право і суміжні
права передбачає компенсацію за порушення авторських прав у сумі від 10 до 50000
МРОТ (ст.49), тоді як Закон про правову охорону програм для ЕОМ установлює нижня
межа аналогічної компенсації — 5000 МРОТ (ст.18). Видимо, при такій розбіжності
силу має спеціальний закон» [4].
И.А.Носова і Н.П.Козадеров висловлюють наступну думку: «У даний час у
Російській Федерації відносини, зв’язані зі створенням, охороною і використанням
програм для ЕОМ, регламентуються законом РФ «Про правову охорону програм
для електронних обчислювальних машин і баз даних» і законом РФ «Про
авторське право і суміжні права» [5].
Погоджуючись з точкою зору Э.П.Гаврилова, вважаємо, що при дозволі колізій
щодо програм для ЕОМ варто застосовувати Закон про авторське право. Цей закон
ми в основному і будемо розглядати, з огляду на, що норми Закону про правову
охорону програм для ЕОМ у цьому плані представляють в основному лише термінологічний
інтерес.
Порівняння термінів, що стосуються програм для ЕОМ, у законах «Про
авторське право і суміжні права» і «Про правову охорону програм для
ЕОМ і баз даних»
В основному термінологія збігається. Визначення програми для ЕОМ, згідно ст.
4 Закону про авторське право, майже дослівно повторює визначення, дане в ст.
1 Закону про правову охорону програм для ЕОМ. Програма для ЕОМ представлена
як сукупність даних і команд і включає підготовчі матеріали й аудіовізуальні
відображення.
П. 2 ст. 7 Закону про авторське право містить терміни: операційна система як
один з видів програми для ЕОМ, а також вихідний текст і об’єктний код.
Ст. 3 Закону про правову охорону програм для ЕОМ включає не тільки операційну
систему як вид програми для ЕОМ, але ще і програмні комплекси. Представляється
логічним, що законодавець не ввів поняття програмного комплексу в Закон про
авторське право, тому що він являє собою сукупність програм і добре визначається
нормою про похідний твір.
Згідно п. 5 ст. 3 Закону про правову охорону програм для ЕОМ, правова охорона
не поширюється на ідеї і принципи, що лежать в основі програми для ЕОМ, у тому
числі на ідеї і принципи організації інтерфейсу й алгоритму, а також мови програмування.
Закон про авторське право в більш загальній формі визначає відсутність правового
захисту ідей і принципів, не розкриваючи при цьому конкретних етапів написання
програми і відповідних результатів.
Ієрархія програми для ЕОМ
Для того, щоб перейти до розгляду технічної сутності етапів створення програми,
пропонуємо розглянути наступну ієрархію програми для ЕОМ, що є надбудовою над
«hard ware»:
операційна система;
компілятори, інтерпретатори, редактори (мови програмування);
прикладні програми.
Кожна з перерахованих ступіней ієрархії сама по собі також є програмою для
ЕОМ і має такі форми представлення, як вихідний текст і об’єктний код. Система
керування базами даних (СКБД) також є програмою для ЕОМ, і її можна розглядати
як кошт створення іншої чи програми спеціальна мова програмування.
Написання прикладної програми неможливо без використання спеціального програмного
забезпечення у виді чи трансляторів мов програмування, а також без системного
програмного забезпечення у виді операційної системи. Тільки застосування сукупності
трьох компонентів — прикладного, спеціального і системного програмного забезпечення — дає можливість написати програми для ЕОМ. Побічно це відображається у вимогах,
пропонованих до їхньої реєстрації: програма для ЕОМ представляється до реєстрації
у виді фрагментів (чи повного) вихідного тексту, при цьому обов’язково вказуються
мови програмування й операційні системи.
Основні етапи створення програми для ЕОМ
На етапі побудови специфікації визначають мети, задачі, призначення, обмеження,
вимоги до конфігурації технічних коштів, мові реалізації. Цей етап виражається,
наприклад, у виді документа «технічне завдання».
На етапі проектування визначається структура прикладного програмного забезпечення,
йде проектування користувальницьких інтерфейсів. Існує кілька коштів вираження,
спеціалізовані мови — UML (уніфікована мова моделювання, що включає в себе сукупність
графічних діаграм), ER-модель (визначає зв’язку «сутність — відношення»),
блок-схема, виражена в графічній мові представлення алгоритму. Етап проектування
є багатоступінчастим. У ньому процес йде від загального до частки, від плану — до пророблення деталей. При цьому в описі алгоритму існує два рівні:
концептуальний, тобто в алгоритмі використовуються предметно-інтерпретуємі об’єкти
(наприклад, перевірити залишок рахунка дебету на....). Алгоритм інваріантний
мові реалізації і може бути розписаний на різних рівнях абстракції;
програмний, оскільки в блок-схемі, як і в програмі, використовуються перемінні,
імена файлів, таблиць.
Програмний алгоритм також інваріантний мові програмування. Наприклад, контроль
умови в блок-схемі позначається через ромб, від якого відходять дві стрілки.
При цьому застосовуються мови програмування: IF, CASE і ін.
На етапі реалізації (програмування) йде створення, розробка і тестування програми.
Програма виражена мовами програмування (C, C++, Алгол, Фортран, Кабол, Бейсік)
і СКБД (Oracle, Sybase, Informix).
На етапі створення документації пишуть роз’яснювальні документи у виді посібників
для користувачів.
Порівняння правової і технічної термінології для роз’яснення терміна «підготовчі
матеріали»
У Законі про авторське право згадування про підготовчі матеріали відповідає
першому і другому етапу створення програми, а саме: побудові специфікації і
проектуванню. Додання підготовчим матеріалам самостійного правового значення
представляється логічним, тому що кожний з них має свій кошт вираження і мова,
а розроблені документи близькі по своїх властивостях до літературного твору
і легко переводяться в іншу форму.
Робота на перших двох етапах є найбільш інтелектуальної. По оцінці експертів,
програмування займає лише 30% від усієї роботи зі створення програми, 70% часу
іде на розробку підготовчих матеріалів. Помилки перших двох етапів мають найбільш
важкі наслідки і складні для виправлення в готовій програмі для ЕОМ.
Результатом першого і другого етапів є поява розробленої проектної документації,
причому вона може бути виконана з застосуванням різних мов програмування. Тобто
реалізація (програмування) рішень, прийнятих на першому і другому етапах, може
бути зроблена різними програмними засобами, що підкреслює значимість і самоцінність
цих етапів. Можна сказати, що проектна документація інваріантна коштам програмування.
Ці два етапи існують автономно, аналогічно плану літературного твору.
Таким чином, підготовчі матеріали, згадані в Законі, являють собою складну
систему виражених у матеріальній формі проектних рішень. При цьому форма їхнього
вираження менш формалізована і стандартизована, чим мови програмування. Це обумовлено
вільним вибором коштів представлення підготовчих матеріалів — блок-схему, діаграма
UML, російська мова. При цьому синтаксис самих коштів менш строгий. Наприклад,
якщо в мові програмування оператор присвоєння строго виражене визначеним знаком
:=, те в блок-схемі даний оператор може бути представлений як словесно, так
і через знак = чи символом :=.
Як справедливо помітив Л.С.Сімкін, «як об’єкт охорони визнається не ідея,
закладена в алгоритм, а лише конкретна реалізація цього алгоритму у виді символічного
запису конкретної послідовності операторів і дій над ними» [6].
Елементи творчості в створенні програми для ЕОМ
Визначення ступеня оригінальності підготовчих матеріалів утруднено перерахованими
вище обставинами. Надаючи підготовчим матеріалам правову охорону, законодавець
уводить захист розгорнутих задумів і проектних рішень. На відміну від літературного
твору і від вихідного тексту програми для ЕОМ, де можливо формальне візуальне
порівняння двох текстів, візуальне порівняння підготовчих матеріалів можливо
тільки при використанні тих самих коштів проектування з чітким розумінням еквівалентності
використовуваних знаків. При аналізі підготовчих матеріалів немає можливості
привести два проекти, виконаних різними коштами, до одного виду, тому що немає
коштів, аналогічних «декомпіляції».
Творчий аспект написання програми виражається в позиціях, що відображають індивідуальну
роботу автора. Наступні характеристики програми свідчать про рівень професіоналізму
і відображають особистість автора.
Структура алгоритму (розбиття на блоки, підзадачі, виділення загальних частин),
оптимальність (з урахуванням продуктивності і надійності) програми.
Оптимальність рішень, що виражається в:
використанні конструкцій мови (те саме дія можна виконати, використовуючи різні
конструкції, що мають різну продуктивність);
побудові програми. Наприклад, вважається грамотним не використовувати оператори
в циклі, які можна винести з циклу, не застосовувати двічі перевірку однієї
умови (оператор IF);
структурованості програми.
Забезпечення надійності, тобто оформлення однакових підзадач у виді підпрограм.
Сукупність перерахованих творчих характеристик програми може свідчити про наявність
об’єктивної новизни й унікальний характер твору. Структура алгоритму, програми
відображає стиль і рівень автора, його індивідуальність. Також до індивідуальних
характеристик можна віднести спосіб ідентифікації перемінних.
Як приклад приведемо створення програми автоматизації операційного дня банку.
На етапі специфікації визначаються:
ціль — визначена найменуванням;
задачі — обслуговування клієнтів, виконання внутрішніх бухгалтерських банківських
операцій, розрахунок відсотків, міжбанківські платежі;
функції — ведення каталогу клієнтів, проведення платіжних документів, ведення
курсів валют;
обмеження — не розглядаються багатовалютні рахунки, не встановлюються ліміти
на клієнтські рахунки;
вимоги до реалізації — програма повинна бути мережний, у якості СКБД використовувати
Oracle, для розробки клієнта — Delphi, операційна система — Windows NT.
На етапі проектування будуються функціональна, структурна, організаційна, інформаційна
моделі. Інформаційна модель будується у виді ER-діаграми. Наприклад, для опису
рахунка виділяються сутності — балансовий рахунок, аналітичний рахунок, залишки
рахунка. Функціональна модель може бути представлена у виді чи блок-схеми діаграми
діяльності (в анотації UML).
Розробляється структура програмного забезпечення, а саме: поділ задач між сервером
і клієнтом, структура пакетів БД, виділення загальних підпрограм і перемінних.
Розробляються макети користувальницьких інтерфейсів: введення і виконання платіжних
документів, каталог клієнтів і т.д.
На етапі програмування створюються програми на Delphi і Oracle відповідно до
рішень, виробленим на етапі проектування. Розроблювальний вихідний текст повинний
відповідати проектним рішенням. Логіка вихідного тексту програми для ЕОМ залежить
від підготовчих матеріалів, розроблених на етапах, що передують програмуванню.
Потім пишуть керівництва для користувачів.
Порівняння вихідних текстів двох програм
Якщо при порівнянні підготовчих матеріалів важко визначити можлива протиправна
дія, то при порівнянні двох вихідних текстів задача спрощується. На думку А.П.Титова,
«охороноздатність програми, представленої у виді вихідного тексту і/чи
об’єктних кодів, не викликає сумніву» [7].
За умови, що блок-схема порівнюваних програм для ЕОМ і мова програмування ті
самі, чим вони можуть відрізнятися?
По-перше. Вибором імен перемінних (найпростіший спосіб плагіату).
По-друге. Використанням різних синтаксичних конструкцій одного призначення,
наприклад, для організації циклу (виконання сукупності операцій кілька разів).
Для наступних міркувань важливо згадати про формулювання Закону про правову
охорону програм для ЕОМ, таких як «адаптація» програми і її «модифікація».
Перша означає правомочне внесення змін для забезпечення функціонування програми,
а друга — будь-які неправомочні зміни, що не є адаптацією. Ці два терміни зручні,
оскільки розділяють допускається Законом про авторське право вільне відтворення
програм для ЕОМ (зміна програми як адаптація) і протиправне використання (зміна
програми як модифікація).
Можна зробити висновок про те, що зміна вихідного тексту веде до появи нової
програми для ЕОМ, оскільки форма представлення тексту буде нова. Відповідно
до Закону про авторське право створений новий твір.
При цьому важливо враховувати, що при адаптації програми особою, що правомірно
володіє її екземпляром, з метою функціонування на технічних коштах користувача
Закон про авторське право не порушений. Користувач лише вніс зміни в програму
для ЕОМ у відповідності зі своїми технічними коштами, цілком у дусі п. 1 ст.
25 Закону.
Якщо користувач, що вніс зміни в програму для її функціонування, слідом за
цим буде відтворювати і поширювати модифіковану програму на ринку, то ця дія
може розглядатися як порушення майнових прав на програму, оскільки почалося
використання твору.
Якщо ж модифікується блок-схема, використовувана для реалізації вихідної ідеї,
то при застосуванні того самого мови програмування також з’явиться нова програма
для ЕОМ, але буде мати місце випадок протиправного використання блок-схеми як
частини підготовчих матеріалів.
Установити, наскільки збігається текст знову створеної і створений раніше програм,
якщо вони написані на різних мовах, — украй важка задача. Якщо перед порівнянням
знову створену програму перевести на мову, використовувана при складанні раніше
створеної, то з великою імовірністю вийде новий текст. Якщо більш пізня програма
розроблена з застосуванням відмінного від більш ранньої мови програмування і
при цьому підготовчі матеріали мають оригінальність, то можна говорити тільки
про запозичення концепції алгоритму, що не є порушенням.
джерело:
«Патенты и лицензии» N 6, 2002
корисний матеріал? Натисніть:
|