در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
نسخهگذاری
نسخهگذاری فرایندی است که یک نام یا یک عدد منحصربهفرد به یک نرمافزار خاص در یک وضعیت مشخص اختصاص داده میشود. این نامگذاری یا عددگذاری با هر تغییر یا بهروزرسانی نرمافزار با روندی افزایشی تغییر میکند. بهطوری که نسخه با عدد بزرگتر بهمعنای جدیدتر بودن نرمافزار نسبت به نسخه با عدد کوچکتر است.
در نسخهگذاری نرمافزارها شکلهای متعددی مرسوم شده و برخی آنقدر خاص است که از ذکر آن خودداری میکنیم. اما اغلب قالبها در میان کاربران شناخته شده و بعضا بهصورت قرارداد یا استاندارد در آمده است و برخی از آنها در مفهوم، مشابه با یکدیگر و برخی خود مفهومی مستقل دارند.
اعداد و ارقام موجود در عدد نگارش یک نرمافزار بر اساس میزان اهمیت تغییرات درجهبندی میشوند و هر درجه معمولا توسط یک نقطه از دیگری جدا میشود. البته جداسازی با خطفاصله یا ممیز و... نیز انجام میشود. اما استفاده از نقطه مرسومتر است. باید توجه داشت که نباید نقطه را به مفهوم اعشار دهدهی دانست. مثلا 2.5 به معنای دوونیم نیست، بلکه به معنی بازبینی پنجم سطح دوم نسخهگذاری است.
اولین عدد بیانگر مهمترین تغییرات نرمافزار است و به ترتیب از درجه اهمیت اعداد دیگر کم میشود. برای مثال در حالتی که از نسخهگذاری چهارقسمتی مثل 2.1.3.4 استفاده شود، اولین عدد تنها در صورتی افزایش مییابد که کد برنامه بهطور کامل بازنویسی شود. در حالی که اعمال تغییرات در ظاهر برنامه یا واسط کاربر، همچنین مستندات برنامه، تنها موجب تغییر در بخش چهام عدد نگارش میشود. این کار موجب میشود که کاربر با دیدن تغییر در نگارش یک برنامه متوجه شود که تغییرات نرمافزار به چه میزان و در چه سطحی بوده است.
در نسخهگذاری سهقسمتی، بهطور کلی در نسخههای بعدی نرمافزارها، عدد اول یا عدد اصلی نگارش (Major number) زمانی افزایش مییابد که قابلیت، امکانات یا تغییرات عمده و چشمگیری در برنامه حاصل شود. عدد دوم یا عدد فرعی (Minor number) نیز زمانی افزایش مییابد که امکانات کوچکی به برنامه اضافه شود و یا اشکالات بزرگ و مهمی رفع شود. عدد سوم یا عدد بازبینی (Revision number) نیز زمانی افزایش مییابد که اشکالات کوچک نرمافزار رفع شود.
گاه بعد از نسخهای مثلا نسخه 2.0 از یک نرمافزار، بدون عرضه نسخههای میانی یعنی 2.1، 2.2 و... یکباره نسخه 2.5 آن عرضه میشود. این بیانگر آن است که امکانات و تغییرات عمدهای در برنامه اعمال شده است، اما در آن حدی نبودهاند که عدد اصلی نگارش افزایش یابد.
برای مثال بعد از نسخه 5 نرمافزار معروف فتوشاپ، نسخه 5.5 آن عرضه شد که نسبت به نسخه 5، امکانات آن افزایش یافته و تغییرات عمدهای در روش انجام کارها در آن اعمال شده بود. البته اگر نسخهدهی به نرمافزار بهصورت دستی و توسط شخص انجام شود، میتوان بدون کوچکترین تغییر در کد برنامه، حتی عدد اصلی نگارش آن را تغییر داد که اینطور بنماید که تغییرات اساسی داشته است! اما این خلاف اصول توسعه نرمافزار است.
گاهی در نسخهگذاری از کاراکترها نیز استفاده میشود. مثل a1.32، b1.32، c1.32 و... که این بهمعنای آن است که در نسخه 1.32 تنها اشکالات برطرف شدهاند و امکانات خاصی به آن اضافه نشده است. در برخی نسخههای نرمافزارها نیز از واژه Build و پس از آن از یک عدد استفاده میشود که آن نیز نمایانگر شماره ساخت نسخه اجرایی برنامه است و پس از هر بار کامپایل برنامه، این عدد افزایش مییابد.
در استاندارد GNU، قالب نسخهگذاری بهصورت Major .Minor .Revision است که البته در برخی نرمافزارها عدد مربوط به ساخت را نیز بدون استفاده از کلمه Build، بین عدد اصلی نگارش و عدد بازبینی قرار میدهند.
معمولا نسخههای جدید نرمافزارها نسخههای پیشین را پشتیبانی کرده و با آنها سازگارند. اما زمانی که دو نسخه از یک نرمافزار در عدد اصلی یا فرعی متفاوت باشند، ممکن است این سازگاری وجود نداشته باشد. اما تفاوت در عدد بازبینی، سازگاری دو نسخه از نرمافزار را تضمین میکند. البته عمدتا نسخههای متفاوت در عدد فرعی نیز با یکدیگر سازگارند.
میتوان گفت هیچکدام از نرمافزارهای دنیا، چه نسخههای آزمایشی و چه نسخههای رسمی که تحت فشار مورد آزمون قرار گرفتهاند، بدون اشکال نیستند. اما تلاش بر این است که نرمافزاری کماشکالتر عرضه شود. بهعبارتی میتوان این جمله را گفت که: نرمافزار بدون اشکال، نرمافزار نانوشته است!
چند استثنا
در نسخهگذاری نرمافزارها استثناهای بسیاری بهچشم میخورد. مثلا جالب است بدانید که نرمافزاری همچون کامپایلر Smalleiffel از نسخهگذاری منفی استفاده میکند. عرضه این برنامه از نگارش 1.0 آغاز شده و به سمت 0.0 در حال پیشروی است. در حال حاضر نیز نسخه 0.75- آن عرضه شده است.
مشاهده میشود که برخی از نرمافزارها در کنار عدد نگارش، از سال ساخت یا عرضه یا استفاده آن نیز بهعنوان بخشی از نام برنامه استفاده میکنند (مانند 2003 (Office و برخی دیگر، از تاریخ دقیق عرضه به عنوان عدد نگارش استفاده میکنند و چون این عدد باید همواره سیر صعودی داشته باشد، در آن به ترتیب سال، ماه و روز در قالب yyyymmdd آورده میشود (مثل 20080421 Wine.) شماره ساخت مایکروسافت نیز در واقع یک تاریخ رمز شده است.
برخی از شرکتها برای تمایز نسخههای اصلی برنامههایشان از کدهای کاراکتری استفاده میکنند. مثل Windows XP، 4Photoshop CS، Flash MX و... . شرکت مایکروسافت برای نسخهگذاری نرمافزار ویندوز خود از عدد 1.0 تا 3.11 استفاده کرد.
سپس از سال 95 محصول خود را با ذکر سال ارائه کرد: 2000 ‚98 ‚95 Windows. بعد از آن نیز محصول خود را با کدهای کاراکتری عرضه کرد: Windows Me, XP, CE. اکنون نیز از نام تجاری مثل Windows Vista استفاده میکند. بسیاری از عرضهکنندگان برای نسخهگذاری خود از قوانین استاندارد تبعیت نکرده و برای خود قانون میگذارند. مثلا Debian که در کنار عدد نگارش، برای بیان پایداری، غیرپایداری و نسخه آزمایشی از کد نامهای فیلم Toy Story استفاده میکند.
برخی نرمافزارها هم در کنار نگارش ظاهری، یک نگارش درونی هم دارند. مثلا نگارش اصلی و درونی 5.0 SE2J در واقع 1.5.0 است. همچنین ویندوز 95 در حقیقت نگارش 4.0، ویندوز 98 نگارش 4.10، ویندوز Me نگارش 4.90، ویندوز 2000 نگارش 5.0 NT، ویندوز XP نگارش 5.1 NT، ویندوز 2003 نگارش 5.2 NT و ویندوز ویستا نگارش 6.0 NT است.
پارسا ستودهنیا
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
گزارش «جامجم» درباره دستاوردهای زبان فارسی در گفتوگو با برخی از چهرههای ادب معاصر
معاون وزیر بهداشت: