حمایت حقوقی از باگ‌های نرم‌افزارهای رایانه‌ای (قسمت اول)

با توسعه روزافزون صنعت نرم‌افزارهای رایانه‌ای، لزوم حمایت قانونی از ذی‌نفعان این صنعت بیشتر احساس می‌­شود. ورود خالقان نرم‌افزارهای رایانه‌ای به صنعت در صورتی تسهیل می‌­شود که سیاست­گذاران، حمایت‌های گسترده‌ای را از نوآوری‌­های‌ این اشخاص به عمل آورند. این سیاست‌­ها نه تنها در مرحله خلق نوآوری بلکه باید در مرحله ورود به بازار و برخورد خالقان ایده با مشتریان و سایر رقبا نیز ادامه یابد.خالقان در فرآیند پیاده‌سازی ایده خود در فضای رایانه­‌ای همواره صحیح عمل نمی‌­کنند. این پیاده­‌سازی امری پیچیده و مستلزم توجه به تمامی حالات و فروض در به‌کارگیری نرم افزار است به نحوی که این آگاهی با استفاده تعداد کثیری از کاربران عادی و بخصوص خبره شکل می‌گیرد بنابراین وجود باگ نرم‌افزاری امر اجتناب‌ناپذیری است. (۱)باگ­های نرم‌افزاری، مجموعه اشکالاتی است که در اثر وقوع خطا در یک سیستم نرم‌افزاری رخ می‌­دهد. این خطا به گونه‌ای است که منجر به رفتار مغایر نرم‌افزار با ویژگی‌­ها و کارکردهای اصلی خود می‌­شود. (۲) برای مثال سیستم نمی‌­تواند به وظیفه اصلی خود عمل کند یا وظیفه خود را به اشتباه انجام می‌­دهد. این خطا ممکن است فراگیر یا برای کاربران خاص رخ دهد.آگاهی سریع و رفع به موقع باگ‌­های نرم‌افزاری برای توسعه دهندگان دارای اهمیت است. از یک سو آگاهی توسعه‌دهندگان به وجود این باگ‌­ها و از بین بردن آنها، منجر به حفظ امنیت اطلاعات کاربران و جلوگیری از سوءاستفاده رخنه‌گران (۳) می‌شود. از سوی دیگر عدم افشای اطلاعات مربوط به باگ تا زمان رفع خطا، امکان از دست دادن کاربر و در نتیجه به دست گرفتن بازار توسط سایر رقبا را کاهش می‌دهد ضمن اینکه می‌تواند ارائه خدمت بهتر به کاربران، عملکرد بهتر در بازار مربوط و برخورداری از مزیت رقابتی را فراهم نماید.با توجه به آن­چه گفته شد، آگاهی و تلاش برای محافظت از اطلاعات مربوط به باگ‌­های نرم افزاری همواره مورد توجه توسعه‌دهندگان نرم‌افزارهای رایانه‌ای بوده‌ است. بنابراین سوال اساسی در این بخش شیوه برخورد نظام­‌های حقوقی با این پدیده­ و راه‌های تامین منافع توسعه‌دهندگان در این رابطه است. این نوشتار با توضیح دقیق این اهمیت، راه‌حل‌های مناسب را در نظام حقوقی ایران تبیین می­‌کند. این امر ممکن است یا از طریق قانون و تصمیم سیاست­گذاران این حوزه صورت گیرد (قسمت اول) و یا از طریق تنظیم قراردادی روابط توسعه‌دهندگان و کاربران محقق گردد. (قسمت دوم)قانون در مورد حفاظت از باگ و اطلاعات مربوط به آن چه می‌گوید؟یک نرم‌افزار رایانه‌ای حاصل ساعت‌­ها تلاش فکری و ایده‌پردازی است. ایده‌پردازی و همینطور پیاده‌سازی ایده نیازمند تلاش و پشتوانه علمی و فکری است؛ به همین خاطر است که صحت ارائه خدمات و محصولات مرتبط برای توسعه‌­دهندگان دارای اهمیت است. کوچک­ترین خدشه در نوع عملکرد این محصولات می‌­تواند سهم بازاری آن­ها را کاهش دهد؛ چون اعتبار بازاری آن‌­ها متکی بر صحت الگوریتم‌­ها و ایده‌­هایی است که نرم‌­افزار بر مبنای آن طراحی شده است و اشکالات نرم‌افزاری هرچند آن­چنان بزرگ جلوه نکنند، می‌توانند ضربه‌­ای کاری بر پیکره‌ی نرم‌­افزار باشند.شکی نیست که در فرض اطلاع توسعه‌دهنده نرم‌­افزار، اولین گام در جهت مخفی‌سازی و عدم افشای این اطلاعات برداشته می‌­شود. با این حال این اطلاعات بعضاً ارتباط مستقیمی با حقوق اشخاص دیگر از جمله مصرف‌کنندگان دارند. سوالی که ابتدا به ذهن متبادر می‌­شود آن است که آیا حفاظت قانون از این اطلاعات -در فرض وجود- در برابر افشاسازی توسط اشخاص غیر مرتبط مشروع است یا خیر؟ و در فرض مشروعیت با کدام یک از نهادهای حمایتی حقوقی سازگاری دارد؟ به نظر می‌رسد نزدیک­ترین نهاد حقوقی به مطلوب نظر توسعه‌دهندگان نرم‌افزار که همانا جلوگیری از افشای باگ‌­های‌ محصولات نرم‌افزاری است، نظام حمایت از اسرار تجاری است.۱. ماهیت اسرار تجاری و مبانی قانونیدر دنیای تجارت دسته‌­ای از اطلاعات دارای ارزش اقتصادی هستند. امروزه افزایش جاسوسی‌­های تجاری و تلاش برای دست­یابی به اطلاعات رقیب یکی از دلایل مهم کسب‌وکارها برای حفظ اطلاعاتی است که با عنوان اسرار تجاری شناخته می‌­شود. افشا یا درز هریک از اسرار یک کسب‌وکار می‌­تواند از یک سو آسیب‌­های جبران‌ناپذیری را به آن کسب‌وکار وارد کند و از سوی دیگر اشخاص ذی‌نفع و دخیل در بازار را با یک رقابت ناسالم روبرو سازد. در حوزه صنعت رایانه نیز به دلایل متعددی این روند تشدید نیز شده است. از جمله این عوامل می‌توان به سرعت فزاینده‌ی تغییرات در تکنولوژی و سهولت تقلید و تولید محصولات مشابه اشاره کرد.در دهه‌‌های ۱۹۶۰ و ۱۹۷۰ میلادی، بحث‌­های مختلفی در کشورهایی همچون ایالات متحده پیرامون نحوه و نوع حمایت از اسرار تجاری در قالب قوانین و مقررات شکل گرفت. به طور مشخص در این کشور و در سال ۱۹۷۹ قانون متحدالشکل اسرار تجاری تصویب شد. در اسناد بین‌المللی نیز ردپای حقوق اسرار تجاری در معاهده تریپس (موافقتنامه جنبه‌های تجاری حقوق مالکیت فکری) مشاهده می‌­شود. در حقوق داخلی ایران برای اولین بار اسرار تجاری در قانون تجارت الکترونیکی مصوب ۱۳۸۲ و تنها در بستر الکترونیکی مورد حمایت قرار گرفت. (۴)اسرار تجاری به جهت دامنه‌­ی نامشخص خود نیازمند تعریف است. مسلم است که هر اطلاعاتی ارزشمند نیست و البته هر اطلاعاتی نیز سری محسوب نمی‌­شود. به همین خاطر است که در اسناد مهم بین‌المللی و حقوق داخلی تعریف­‌هایی از اسرار تجاری ارائه داده‌­اند تا دامنه آن مشخص گردد. معاهده تریپس سه ویژگی را برای اطلاعاتی که مورد حمایت قانونی به عنوان اسرار تجاری هستند، بیان می­کند: الف) محرمانه بودن، بدین معنی که اشخاص در حوزه مرتبط که معمولاً با این نوع اطلاعات سروکار دارند، عموماً از آن آگاهی نداشته و توان دسترسی به آن را نیز نداشته باشند؛ ب) ارزش اقتصادی ناشی از محرمانه ­بودن و ج) محرمانه نگاه­داشتن اطلاعات به نحو معقول به این معنی که شخص دارنده اطلاعات برای حفظ محرمانگی اطلاعات، اقدامات معقول حسب اوضاع و احوال به عمل آورده باشد. اطلاعات آنقدر گسترده و دارای مصادیق وسیعی است که حتی با ارائه قواعد و معیارهای کلی نمی‌­توان از تشکیک در شمول اسرار تجاری نسبت به برخی از مصادیق آن جلوگیری کرد. بنابراین آشنایی با حدود و ثغور این ویژگی‌­ها کمک شایانی به اهداف مدنظر در این نوشتار خواهد کرد.۱.۱. مفهوم اطلاعات تجاریاطلاعات به معنای مجموعه دانستنی‌­ها و معلومات است. وقتی از اطلاعات مورد حمایت در حوزه اسرار تجاری صحبت می‌­شود، منظور معلوماتی است که اشخاص در راستای پیشرفت فعالیت تجاری خود از آن استفاده می‌­کنند یا آن اطلاعات حاصل فعالیت تجاری یا مرتبط با آن هستند. به عبارت دیگر اطلاعات باید در آن صنعت به طور بالقوه یا بالفعل مورد استفاده قرار گیرد.از جمله این اطلاعات، دانش منفی (۵) یا دانش مربوط به شیوه‌­هایی است که در یک صنعت یا خط تولید کارآمد نیست، بدین معنی که استفاده از شیوه یا فرمول مذکور در فرآیند تولید یا توسعه کسب‌وکار به نتیجه مطلوب منتهی نمی‌­شود. باگ‌های نرم‌افزاری نیز به عنوان اشکالاتی که کارکرد نرم‌افزار را دچار مشکل کرده و ممکن است مانع تحقق مطلوبیت کامل نرم‌افزار شود را شاید بتوان نوعی دانش منفی تلقی کرد. پذیرش این مفهوم به عنوان سر تجاری و حمایت از آن حتی در کشورهایی كه در زمینه حقوق اسرار تجاری سابقه قانون‌گذاری داشته‌اند با فراز و فرودهایی همراه بوده ‌­است و در رویه قضایی این کشورها نیز بعضاً دانش منفی به دلیل آن­که مبهم بوده و واجد شرایط نیست، رد شده‌­است. (۶) در واقع اصولاً از اطلاعاتی به عنوان اسرار تجاری حمایت می‌­شود که زاینده باشند و در فرایند تولید و یا جذب مشتری تاثیر داشته‌ باشند و نه حقایقی که ماهیتاً عقیم هستند و کاری از دست آن­ها ساخته نیست. از سوی دیگر مهم­ترین دلیل حمایت از اسرار تجاری کمک به ارتقا و توسعه‌ محصولات دانش‌بنیان و مبتنی بر فناوری است. دانش منفی نیز مجموعه اطلاعاتی است که تولیدکننده در فرآیند تولید جدید به آن­ها توجه دارد و از صرف هزینه‌­ی اضافی با به­‌کارنگرفتن آن فرآیند جلوگیری به عمل می‌آورند. در اختیار داشتن دانش فنی می‌تواند سرعت رسیدن به اهداف و مرحله درآمدزایی را بیشتر کند و نوعی مزیت رقابتی محسوب گردد.۲.۱. مفهوم محرمانه بودناطلاعات تجاری نباید در دسترس عموم افراد قرار داشته‌ باشد. بدان معنا که این اطلاعات نباید بدون صرف وقت و هزینه توسط سایر اشخاص جامعه قابل بازیابی باشد. البته این بدان معنا نیست که اگر اطلاعات در دست رقبای معدود شرکت باشد، آن را از زمره اسرار تجاری خارج می­‌کند. بسیاری از اسرار تجاری در اختیار چند شرکت رقیب است؛ بدون آن­که این اطلاعات قابلیت بازیابی توسط عموم اشخاصی که از افشا یا استفاده از اطلاعات سود به دست خواهند آورد، داشته باشد.۳.۱. مفهوم ارزش اقتصادیدر نگاه اول داشتن ارزش اقتصادی مفهومی است که پیوندی ناگسستنی با مفهوم به‌­کارگیری اسرار در فرآیند سودآوری دارد. به همین خاطر در برخی از تحلیل­‌ها آن اطلاعات باید نتیجه اقتصادی مشخصی را برای شرکت یا فرد به همراه داشته باشد. با این حال نباید صرف استفاده را تنها راه سودآوری از اطلاعات مذکور دانست. در بسیاری از موارد افشای اطلاعات می‌تواند ضرر غیرقابل جبرانی را به شرکت صاحب اطلاعات رسانده یا آن­که سود کلانی را عاید شرکت رقیب نماید. بنابراین به نظر نمی‌­رسد شرط استفاده مستمر و طولانی از اطلاعات برای شمول اسرار تجاری نسبت به آن صحیح باشد.در بسیاری از آرای صادره در دادگاه‌­های آمریکا لزوم صرف هزینه قابل­ توجه برای تولید اطلاعات را شرط اساسی برای شمول عنوان سر تجاری ندانسته‌اند (۷) و به نظر نمی‌رسد مفهوم ارزش اقتصادی ارتباطی با هزینه‌های تولید اطلاعات داشته‌ باشد. ممکن است یک شرکت هزینه‌ای برای اطلاعات حیاتی خود صرف نکرده‌باشد؛ با این حال افشای اطلاعات می ­تواند سود کلانی را عاید شرکت رقیب نماید. به عکس ممکن است که تولید یک سری از اطلاعات دارای هزینه­‌ی فراوانی باشد اما عملاً نتیجه‌­ای در ایجاد ارزش اقتصادی نداشته باشد.با توجه به آن­چه که گفته شد و از اطلاق واژگانی که در تعاریف نسبت به اسرار تجاری برمی‌آید، ارزش اقتصادی دارای مفهومی دوجانبه است. از طرفی ممکن است که اطلاعات برای دارنده قانونی آن دارای ارزش اقتصادی نباشد، اما برای رقیب او دارای ارزش اقتصادی فراوانی بوده و افشای آن اطلاعات منجر به سودآوری کلان برای او گردد. به عنوان نمونه اشتباهات و خطاهایی که یک شرکت در فرآیند اجرا یا تولید محصولات انجام داده‌­است، برای شرکت دارنده اطلاعات سودی به همراه نداشته باشد؛ اما دست­یابی شرکت رقیب و در نتیجه افشای این اطلاعات می‌­تواند سهم بازاری او را افزایش دهد. به عنوان مثال افشای باگ نرم‌افزاری و یا اطلاعات مرتبط می‌تواند منجر به تبلیغات منفی (بعضاً اغراق‌شده) علیه توسعه‌دهنده شده یا با ارائه طریق به رخنه‌گران آسیب‌پذیری محصول نرم‌افزاری را افزایش دهد. بنابراین ارزش اقتصادی نه به هزینه صرف شده در جهت تولید یا توسعه اطلاعات باز می‌گردد و نه اهمیت ارزش اقتصادی برای دارنده قانونی اطلاعات را بازگو می­‌کند. ارزش اقتصادی می‌تواند ناشی از اهمیت این اطلاعات برای سارق باشد.۴.۱. مفهوم اقدامات حفاظتی معقولدارنده اسرار تجاری برای شمول حمایت‌­های قانونی اسرار تجاری، باید تلاش­‌های معقولانه و متناسبی را برای حفاظت از اطلاعات پیش­‌بینی کند. دارنده باید نشان دهد که اطلاعات مذکور نزدش مهم و ارزشمند است. مشخص است که هرچه اطلاعات مذکور دارای ارزش اقتصادی بالاتری برای دارنده اطلاعات یا اشخاص رقیب باشد، باید تلاش‌­های بیشتری برای حفاظت از این اطلاعات به عمل آید. افزون بر آن اگر نگهداری اطلاعات به جهت دلایلی هم­چون آگاهی کارکنان شرکت از اطلاعات یا سهولت دسترسی به اطلاعات نیازمند تدابیر بیشتری باشد، مراقبت باید با توجه به موارد فوق تشدید شود. عدم تقارن عرفی یا فنی میزان تلاش برای نگهداری با مولفه‌های فوق می­‌تواند اطلاعات را از زمره اسرار تجاری خارج سازد.۲. باگ به مثابه سر تجاریتوسعه‌­دهندگان یک نرم‌افزار ممکن است برای برطرف کردن یک باگ چند راهبرد متفاوت داشته‌ باشند: ۱-رفع مشکل در کمترین زمان ممکن؛ ۲-رفع مشکل قبل از عرضه‌­­ی نسخه بعدی و ارائه نسخه بعدی بدون باگ؛ ۳-به تعویق ­انداختن و ۴-عدم رفع باگ. (۸) هزینه‌های بالای اصلاح، بهم ریختن ساختار اصلی نرم‌­افزار و احتمال از دست دادن کاربران مهم­ترین دلایل عدم اصلاح برخی باگ‌هاست. به همین جهت بسیاری از باگ‌هایی که توسعه‌دهندگان نسبت به آن مطلع هستند حل نشده باقی خواهد ماند. با وجود این چرا باید نظام حقوقی درصدد حفاظت و عدم انتشار و ارائه آن به اشخاص ثالث یا رقبای آن نرم­‌افزار گردد؟ پاسخ به این سوال به اهمیت این باگ­ها در نظر توسعه‌دهندگان باز می­‌گردد.علی‌رغم اینکه وجود باگ نرم‌افزاری امری شایع بوده و به دلایل متعدد فنی تا زمانی که به نحو عمومی افشا نشده، بر عملکرد نرم‌افزار اثری نداشته و رخنه‌گران نیز به آسانی از آن مطلع نمی‌شوند، در صورت انتشار یا ارائه این اطلاعات به عموم یا حتی رقبای این نرم‌­افزار اعتماد کاربران آن بیش از پیش مورد خدشه قرار خواهد گرفت. افزون بر آن این امکان وجود دارد که رقبای یک نرم‌افزار با استفاده از باگ مذکور در ساختار نرم‌­افزار رخنه کرده و اطلاعات مهمی را از الگوریتم‌­های نرم‌­افزار بیرون بکشند. بنابراین نه تنها اطلاعات مربوط به باگ سری بوده بلکه تقریبا اکثر توسعه‌دهندگان از اطلاعات مربوط به باگ نرم‌افزار نگه­داری معقول به عمل می‌­آورند.یکی از نمونه‌های این نگاه­داری پیش‌بینی و اعلام طریقه گزارش یا افشای مسئولانه باگ (۹) و متعاقبا شرطی است که در قراردادهای پاداش گزارش باگ مبنی بر لزوم محرمانگی اطلاعات باگ با گزارش‌دهندگان وجود دارد. (۱۰) افزون بر آن اطلاعات مربوط به باگ‌ها دارای ارزش اقتصادی نیز هستند؛ گفته شد که ارزش اقتصادی اسرار تجاری لزوما با استفاده از آن در صنعت متبلور نمی‌­شود، بلکه ممکن است افشای اطلاعات ضرر اقتصادی را به شخص وارد سازد و یا او را از کسب سود باز دارد. بنابراین عدم افشای اطلاعات برای توسعه‌دهندگان دارای ارزش اقتصادی خواهد بود.نکته پایانی در این زمینه آن است که پذیرش باگ‌­های نرم‌افزاری به عنوان اسرار تجاری تا آن­جا پذیرفته شده است که مخل حقوق مصرف‌کنندگان یعنی کاربران آن نرم‌­افزار نباشد. بنابراین اگر باگ‌­ها منجر به ایجاد یک ناهمگونی در نرم‌­افزار، کاهش کیفیت ارائه خدمت در آن نرم­‌افزار یا افشای اطلاعات شخصی کاربران ­شود، ممکن است تحت شمول حمایت‌های قانونی قرار نگیرند.در قسمت دوم این مقاله، روش‌های قراردادی حمایت از باگ‌های نرم‌افزاری را بررسی خواهیم کرد.پانوشت‌ها(۱) حتی بزرگترین شرکت‌های نرم‌افزاری جهان نیز هنوز با مسئله باگ‌های بسیار ساده مواجهند. به عنوان مثال شرکت اپل در بخش «ورود از طریقApple» یک باگ امنیتی داشت که یک رخنه‌گر از طریق آن می‌توانست به تمام اطلاعات شخصی کاربر در iCloud و هر داده‌ای که از طریق حسابApple او قابل دیدن بود، دسترسی پیدا کند. این باگ به قدری خطرناک بود که اپل برای تشکر از یابنده‌ی آن، مبلغ ۱۰۰هزاردلار پرداخت کرد. برای آگاهی بیشتر مراجعه کنید به : https://bhavukjain.com/blog/2020/05/30/zeroday-signin-with-apple(2) Lamkanfi, A., Demeyer, S., Soetens, Q. D., & Verdonck, T. (2011, March). Comparing mining algorithms for predicting the severity of a reported bug. In 2011 15th European Conference on Software Maintenance and Reengineering (pp. 249-258). IEEE.(3) Hacker(۴) ماده ۶۴ قانون تجارت الکترونیکی: به منظور حمایت از رقابتهای مشروع و عادلانه در بستر مبادلات ‌الکترونیکی، تحصیل غیرقانونی اسرار تجاری و اقتصادی بنگاهها و مؤسسات برای خود و‌یا افشای آن برای اشخاص ثالث در محیط الکترونیکی جرم محسوب و مرتکب به‌مجازات مقرر در این قانون خواهد رسید.(5) Negative Know-how.(6) Metallurgical Industries Inc. v. Fourtek, Inc., 790 F.2d 1195 (5th Cir. 1986)(7) MicroStrategy Inc. v. Business Objects, SA, 429 F.3d 1344 (Fed. Cir. 2005)(8) Lamkanfi, A, Ibid.(9) Bug bounty program(۱۰) به عنوان مثال می‌توانید به مقررات افشای مسئولانه در کافه‌بازار مراجعه کنید.نویسنده: مصطفی عبداللهیکارشناس ارشد حقوق اقتصادی از دانشگاه شهید بهشتیکارشناس رگولاتوری تیم حقوقی هزاردستان