اخلاق برنامه‌نویسی
دستورالعمل‌های اخلاقی برنامه‌نویسی

انجمن ماشین آلات رایانه (ACM) بزرگترین جامعه رایانه ای آموزشی و علمی جهان است. این انجمن کد اخلاقی خاص خود را دارد و مجموعه ای دیگر از اصول اخلاقی است که به عنوان استاندارد آموزش و تمرین مهندسی نرم‌افزار نیز توسط IEEE تأیید شده‌است. این کدها به ترتیب کد اخلاقی و رفتار حرفه ای و کد اخلاق و عمل حرفه ای مهندسی نرم‌افزار هستند، و برخی از دستورالعمل‌های آنها در زیر ارائه شده‌است:
برگرفته از آیین‌نامه اخلاق و رفتار حرفه ای (ACM):
در جامعه و رفاه انسان مشارکت کنید. برنامه نویسان باید برای تولید سیستم‌های رایانه ای تلاش کنند که بتواند عواقب منفی را برای جامعه کاهش دهد، مانند تهدیدات ایمنی و سلامتی، و فعالیت‌های روزمره و کار را آسان‌تر کند. این «ایجاد تعهد برای پیشرفت در استانداردهای بالا» است (Savage).
از آسیب رساندن به دیگران خودداری کنید. سیستم‌های رایانه ای تأثیر مستقیمی بر اشخاص ثالث دارند. آنها می‌توانند باعث از دست رفتن اطلاعات و منابع شوند که ممکن است برای کاربران، عموم مردم یا کارفرمایان بسیار مضر باشد؛ بنابراین، توسعه دهندگان نرم‌افزار باید با رعایت استانداردهای طراحی و آزمایش سیستم‌ها (کد اخلاقی و رفتار حرفه ای)، خطر صدمه زدن به دیگران را به دلیل خطاهای کدگذاری یا مسائل امنیتی به حداقل برسانند.
صادق و قابل اعتماد باشید. این اصل برنامه نویسان را تشویق می‌کند که هنگام نوشتن سیستم‌های رایانه ای صادق باشند و از محدودیت‌های خود در دانش و آموزش آگاه باشند. همچنین، اگر یک برنامه‌نویس می‌داند مشکلی در سیستم رایانه ای وجود دارد، باید فوراً آن را گزارش کند تا از عواقب نامطلوب جلوگیری کند.
اعتبار مناسب مالکیت معنوی را بدهید. برای هر سازنده نرم‌افزار اجباری است که هرگز از کار شخص دیگری استفاده و اعتبار نگیرد، حتی اگر توسط قانون حق چاپ، حق ثبت اختراع و غیره محافظت نشده باشد. آنها باید کارهای دیگران را به رسمیت بشناسند و اعتبار کامل آنها را بدست آورند، و باید از ایده‌های خود برای تولید نرم‌افزار استفاده کنند.
به حریم خصوصی دیگران احترام بگذارید. سیستم‌های رایانه ای به اشتباه توسط برخی از افراد برای نقض حریم خصوصی دیگران استفاده می‌شود. توسعه دهندگان نرم‌افزار باید برنامه‌هایی بنویسند که بتواند از اطلاعات خصوصی کاربران محافظت کند و از دسترسی غیرمجاز سایر افراد ناخواسته به آن جلوگیری کند (قانون اخلاق و رفتار حرفه ای).
به محرمانه بودن احترام بگذارید. مگر اینکه قانون یا هر دستورالعمل اخلاقی دیگری آن را الزامی کند، یک برنامه‌نویس باید هرگونه اطلاعات اضافی مربوط به کارفرمای خود را که ناشی از کار در یک پروژه است مخفی نگه دارد.
برگرفته از کد اخلاق و عمل حرفه ای مهندسی نرم‌افزار (IEEE , ACM):
تنها درصورتی که نرم‌افزار ایمن و مطابق با مشخصات باشد، نرم‌افزار را تأیید کنید. برنامه نویسان نمی‌توانند تصور کنند که یک سیستم فقط به این دلیل که وظایف مورد نیاز را انجام می‌دهد؛ آماده استفاده است. آنها باید اطمینان حاصل کنند که این سیستم‌ها نیز ایمن بوده و هر مشخصات مورد نیاز کاربر را برآورده می‌کنند. اگر برنامه‌ها ایمن نباشند، کاربران از هکرهایی که می‌توانند اطلاعات یا پولهای مهم را بدزدند محافظت نمی‌شوند؛ بنابراین، برای اطمینان از امنیت سیستم قبل از تأیید، باید چندین آزمایش انجام شود.
مسئولیت کامل کار خود را بپذیرند. اگر برنامه ای خطایی را نشان می‌دهد، توسعه دهنده نرم‌افزار باید مسئولیت کامل کار خود را بپذیرد و باید روی تجدید نظر، اصلاح، تغییرها و آزمایش آن کار کند.
آگاهانه از نرم‌افزاری که به‌طور غیرقانونی یا غیراخلاقی بدست آمده یا نگهداری می‌شود، استفاده نکنید . اگر از سیستم رایانه ای به عنوان پایه ای برای ایجاد سیستم دیگری استفاده می‌شود، برنامه‌نویس باید اجازه چنین کاری را بگیرد. این اصل استفاده از هرگونه نرم‌افزار دیگر برای هر هدفی را در صورتی که روش به دست آوردن آن مشخص نیست یا غیرقانونی یا غیراخلاقی شناخته می‌شود، منع می‌کند.
موارد اخلاقی، اقتصادی، فرهنگی، حقوقی و زیست‌محیطی مربوط به پروژه‌های کاری را شناسایی، تعریف و پرداخته کنید. اگر یک برنامه‌نویس متوجه شود و تشخیص دهد که کار روی یک پروژه به هر نوع مشکلی منجر می‌شود، پس برنامه‌نویس باید قبل از ادامه آن را به کارفرمای خود گزارش دهد.
اطمینان حاصل کنید که مشخصات مربوط به نرم‌افزاری که روی آن کار می‌کنند نیازهای کاربران را برآورده می‌کند و تأییدیه‌های مناسب را دارند. توسعه دهنده‌های نرم‌افزار باید قبل از ادامه کار در قسمت بعدی، به کارفرمایان خود مراجعه کنند و برای سیستمی که خود ایجاد کرده‌اند درخواست تأیید کنند. اگر این الزام‌ها را برآورده نکند، باید در کد منبع سیستم اصلاح‌هایی انجام شود.
از آزمایش، اشکال زدایی و بررسی نرم‌افزار اطمینان کافی حاصل کنید. برنامه نویسان باید تست‌های متناسب با نرم‌افزارهایی را که با آنها کار می‌کنند، انجام دهند و برای اطمینان از صحت اجرای برنامه‌ها، خطاها و حفره‌های امنیتی سیستم را بررسی کنند.
درگیر اقدام‌های فریبنده مالی مانند رشوه، قبض مضاعف یا سایر اقدام‌های مالی نامناسب نشوید. برنامه نویسان در معرض مشارکت در فعالیت‌های غیرقانونی برای بدست آوردن پول قرار می‌گیرند. آنها به دلیل تهدیدها، مسائل اقتصادی یا صرفاً به این دلیل که می‌خواهند با بهره‌گیری از دانش خود در مورد نحوه کار سیستم‌های رایانه ای، به راحتی پول بدست آورند، درگیر آنها می‌شوند. این دستورالعمل درگیر کردن برنامه‌نویس در چنین اقدامات غیرقانونی را منع می‌کند.
توانایی خود را در ایجاد نرم‌افزار ایمن، قابل اعتماد و باکیفیت مفید بهبود ببخشید. از آنجا که فناوری سال به سال سریعتر پیشرفت می‌کند و همچنین جرم مجازی نیز پیشرفت می‌کند، نیاز به برنامه‌های خوش ساخت و طراحی شده در حال افزایش است. سیستم‌های رایانه ای با سیستم‌های جدید و دستگاه‌های جدید قدیمی و محدود می‌شوند. برنامه نویسان باید «دانش خود را در مورد پیشرفت در زمینه تجزیه و تحلیل، مشخصات، طراحی، توسعه، نگهداری و تست نرم افزار و اسناد مربوط» (کد اخلاق مهندسی نرم‌افزار و عملکرد حرفه ای) به منظور ایجاد قطعات نرم‌افزاری بهتر، بیشتر کنند.