بیل گیتس (Bill Gates)، موسس بلندآوازه شرکت مایکروسافت، در توصیف حس یک برنامهنویس میگوید: «نرمافزار ترکیب برجستهای است از هنرمندی و مهندسی. هنگامی که کارتان تمام می شود و از خودتان برای آنچه انجام دادهاید قدردان میشوید مثل این است که بخشی از وجودتان را به درستی کنار هم قرار دادهاید.» برای بسیاری از برنامهنویسان کامپیوتر نوشتن یک برنامه، نرمافزار یا اپ ترکیبی از مهارت و مهندسی در کنار زیبایی است. قطعاً به همین دلیل است که سازمانهای متولی جهانی از سالها پیش نرمافزار را در مقام یک اثر همچون نتهای موسیقی، نوشتههای کتاب یا تصاویر یک فیلم، قابل حمایت دانستهاند. اما این اثر چگونه خلق میشود و چه کسی مالک آن است؟ در این فصل به بررسی فرایند تولید و توسعه نرمافزار و نقش اشخاص در این فرایند میپردازیم. آنچه در فصل پیش به عنوان اجزای قابل حمایت نرم افزار برشمردیم، چه در قالب کد منبع چه در قالب نشان تجاری و چه در قالب رابط کاربری و هر آنچه در روند توسعه یک نرمافزار ایجاد میشود، به طور کلی در یکی از سه حالت زیر به وجود میآید: 1- محصول مستقل فردی تام کیلبرن (Tom Kilburn) دانشمند علوم کامپیوتر در قرن بیستم میلادی یکی از اولین نرمافزارهای دنیا را نوشت و آن را در ساعت 11 صبح روز 21 ژوئن 1948 در دانشگاه منچستر انگلستان به اجرا گذاشت. کیلبرن و همکارش ویلیامز که سازنده یکی از اولین کامپیوترهای جهان بودند و آن را بیبی (Baby) صدا میکردند در اولین برنامه اجراشده توانستند کدهای دستوریای بنویسند که دو به توان 18 را در 52 دقیقه به طور صحیح محاسبه کند و به عدد 262.144 برسد! بنابراین، مانند تمام علوم دیگر در دنیا، علوم کامپیوتری و نوشتن نرمافزارها هم از اقدامات فردی شروع شد. اما در دنیای امروز، با توسعه روزافزون زبانهای برنامهنویسی و نرمافزارها، امکان تولید نرمافزارهای پیچیده به...