ویرگول
ورودثبت نام
epsi1on
epsi1onذره‌ای کوچک در هستی
epsi1on
epsi1on
خواندن ۱۲ دقیقه·۱ ماه پیش

ویـراست‌یار: چی شد که ویراست‌یار آمد و چه شد که رفت؟!

# خلاصه

ویراستیار پروژه‌ای بود که کارفرمای آن "شورای عالی اطلاع‌رسانی"، پیمانکار آن "مرکز تحقیقات کامپیوتری علوم اسلامی (نور)" و کاربران ان عموم افراد فارسی‌زبانی بودند که یا با ورد و یا با فضای مجازی ارتباط داشتند. این برنامه در برهه‌ای یک و نیم میلیون کاربر فعال داشته است. ولی کارشکنی پیمانکار آن باعث شد که این نرم‌افزار کاربران خود رو رفته‌رفته به برنامه‌ی دیگری بنام "پاکنویس" بدهد. ویراستیار و پاکنویس هردو توسط یک پیمانکار، یعنی «مرکز تحقیقات کامپیوتری علوم اسلامی (نور)» توسعه پیدا کرده‌اند.

ویراستیار و پاکنویس، تفاوتی فاحش با هم دارند:

ویراستیار متن‌باز و آفلاین و رایگان هست ولی پاکنویس فقط رایگان است و نه متن‌یاز است و نه آفلاین. یعنی متن‌های کاربران به سرورهای پاکنویس ارسال شده و در آن‌جا پردازش می‌شوند.

# مقدمه‌ی نویسنده

اگر فارسی‌/پارسی زبان باشید و در دهه‌ی ۹۰ شمسی با برنامه‌ی Word کار کرده باشید احتمالا شما هم با برنامه‌ی ویراستیار آشنا هستید. این برنامه بعنوان افزونه‌ای برای Word نوشته شد تا ابزاری به کاربران ارایه کند تا از زبان فارسی بدون ایرادات املایی استفاده کنند. بعلاوه نسخه‌ی دیگری از این نرم افزار بنام ویراست‌لایو نیز ساخته شد که کاربران به‌صورت انلاین و بدون استفاده از ورد می‌توانستند از ان برای تصحیح نوشتارهای‌ فارسی استفاده کنند. به گفته توسعه دهنده‌ها این برنامه در برهه‌ای چیزی حدود ۱ و نیم میلیون کاربر فعال داشته (لینک) که عدد بسیار جالبی هست. به نظرم این عدد، اهمیت این نرم افزار و میزان موفقیت اون رو نشون می‌ده. ولی چند مدت بعد این پروژه به حالت تعلیق در آمد و دیگر پیش نرفت. توی این پست می‌خوام از چند نقطه نظر بصورت دقیق‌تر از شروع تا حال این پروژه رو بررسی کنم ببینم اوضاع چطوری هست، اگر کارشکنی شده مقصر کیه و آیا اصلا مقصری وجود داره؟!

# نیاز سنجی و قبل از شروع به کار

قبل از شروع هر پروژه‌ی برنامه‌نویسی‌، یک مرحله‌ای وجود داره بنام مهندسی نیازها یا نیاز سنجی (لینک). طبق یافته‌های من توی اینترنت ظاهرا نیاز سنجی این نرم افزار توسط نهادی دولتی بنام "شورای عالی اطلاع رسانی" انجام شد. یعنی این نهاد چندین مدت قبل از اینکه پروژه‌ی ویراستیار شروع بشه و اصطلاحا Start بخوره، شروع به تحقیقات کردند. و بر اساس تحقیقات و بررسی ای که انجام دادند به این نتیجه رسیدند که جای یک همچین نرم افزاری خالی هست. پس مرحله‌ی نیاز‌سنجنی با شورای‌ عالی اطلاع‌رسانی بوده و به نظر من اشکالی تا به اینجا نبوده. پس یک امتیاز مثبت برای شورای عالی اطلاع رسانی.

البته کمی بعد این شورا به دستور آقای خامنه‌ای به سازمانی دیگر الحاق شد و فعالیت‌های ان در این زمینه کاملا متوقف شد که در ادامه به ان می‌رسیم.

# شروع به کار و آغاز توسعه‌ی نرم‌افزار

خوب سفارش ساخت این نرم‌افزار توسط شورای عالی اطلاع‌رسانی به مرکز تحقیقات کامپیوتری علوم اسلامی داده شد. حالا من اطلاعاتی در دسترس ندارم که چرا از بین این همه پیمانکار و شرکت توسعه نرم افزاری که هم نیرو و هم پتانسیل متخصص دارند، این موسسه‌ی حکومتی انتخاب شد! اطلاعات بیشتر در مورد این سازمان رو در انتهای همین پست می‌تونید پیدا کنید. پروژه‌های انجام شده توسط این پیمانکار تا قبل از ویراستیار اصلا ربطی به زیان فارسی نداشتند، در حقیقت اگر بخوایم به زبان ربطشون بدیم بیشتر به زبان عربی ارتباط داشتند تا زبان فارسی! (لینک). به هر حال...

ظاهرا بعد از واگذاری پروژه به مرکز تحقیقات علوم اسلامی، این مرکز نیز پروژه رو به دانشگاه علم و صنعت می‌ده و در این دانشگاه گروهی تاسیس می‌شه برای توسعه‌ی این پروژه. البته شواهدی نیست ولی خوب مشخصا اون سازمان نیروی مناسبی برای اینجام این چنین پروژه‌ای در دسترس نداشته. فهرست افرادی که در این پروژه همکاری داشته اند رو در صفحه‌ی اصلی پروژه در سایت سورس‌فورج میتوانید ببینید (لینک) فکر می‌کنم توسعه دهندگان اصلی بیشتر دانش‌آموخته یا شاغل در دانشگاه علم و صنعت بوده‌اند.

به هر حال توسعه‌ی پروژه در اینجا شروع می‌شه.

# ادامه‌ی توسعه‌ی این نرم افزار

از حدود سال ۲۰۱۱. تیم توسعه کار رو پیش می‌برند. به عقیده‌ی من خیلی هم خوب کار رو پیش می‌برند. در حین توسعه این برنامه تعدادی هم مقاله‌ی علمی منتشر می‌شود (که حداقل دوتایش رو بنده پیدا کردم: لینک و لینک). پس اینجا هم یک امتیاز مثبت برای تیم توسعه دهنده.

طبق فایلهای موجود در سایت سورس فورج (لینک) توسعه ویراستیار از حدود سال ۲۰۱۱ شروع و تا سال ۲۰۱۵ ادامه میابد. نسخه‌های منتشر شده یک الی ۴ میباشند (لینک) که در ۱۸ نوبت منتشر شد. اولین نسخه در حدود اردیبهشت ۱۳۹۰ (2011-04-13) و اخرین نسخه در شهریور ۱۳۹۴ (2015-08-29) منتشر میشود.

متاسفانه یکی از مشکلات اصلی در همین‌جا آغاز میشه!

نرم افزار کدباز (open source software) یک تعریف حقوقی داره. طبق تعریف، سورس کد یک نرم افزار کدباز باید همزمان با انتشار برنامه، منتشر بشه. یا بصورت دقیق تر، کدمنبع برنامه‌ی کدباز باید همزمان با باینری‌های برنامه (نسخه‌ی کامپایل شده) در اختیار کاربر قرار بگیرد. اگر خیلی دقیق تر در نظر بگیریم، به نظرم جملات مورد استفاده توسط ریچارد استالمن رو باید بررسی کنیم. کاربر یک نرم افزار کد باز باید کاملا در کامپایل و تغییر در برنامه و ... آزاد باشند که پیش نیاز این اصل، دسترسی کامل به سورس کد نرم‌افزار هست. این رو هم طبق تجربه (تجربه‌ی مشارکت حدودا ۱۰ ساله در یک کتابخانه‌ی نرم‌افزاری متن‌باز مرتبط با مهندسی) و هم طبق اطلاعات موجود در اینترنت گفتم. نرم افزار متن‌باز یک تفاوت اصلی با نرم افزار رایگان داره. هر نرم افزار رایگانی، متن‌باز نیست. ویراستیار باید هم رایگان می‌بود و هم متن باز. ولی متن‌باز نبود!!!

مشکلی اصلی از آنجایی شروع می‌شه که گروه توسعه دهنده دیگه سورس کد برنامه رو در سورس‌فورج منتشر نمی‌کنند و فقط باینری برنامه رو منتشر می‌کنند. همین‌جا برنامه‌ی ویراستیار از یک برنامه‌ی رایگان و متن‌باز به یک برنامه‌ی رایگان تقلیل پیدا می‌کنه.

اینجا ما باید دنبال عاملی بگردیم که باعث این اتفاق شده. به احتمال زیاد کارفرما سفارش نرم‌افزار متن‌باز رو به پیمانکار داده ولی پیمانکار بخاطر دسترسی حاکمیتی که داشته، بعد از قبول پروژه این رو تغییر داده و گفته زکًی سورس رو نمی‌دم! پس یک امتیاز منفی برای پیمانکار. ۲۵صدم امتیاز منفی هم برای تیم توسعه دهنده چون با این شرایط کنار اومدند و جفت پا نرفتن توی دهن حاجی که حرف اضافه نزن...

# یک نکته خیلی مهم در سورس‌کد ویراست‌یار

حدود ۶ سال پیش بعد از اینکه مجبور شدم برای استفاده از ویراستیار، ورد ۲۰۱۶ رو پاک کنم و ورد نسخه‌ی ۲۰۱۳ رو نصب کنم به این فکر افتادم که شاید بشه این برنامه رو اصطلاحا کرک کرد!!!

جل‌الخالق!!! برنامه‌ی اوپن سورس رو مگه کسی کرک می‌کنه؟!! اصلا اوپن سورس درست شد که کسی کرک نکنه، مستقیم توی سورس برنامه تغییر بده و دوباره کامپایل کنه... این هم از عجایب هست که ما باید برنامه‌های اوپن‌سورس وطنی رو هم کرک کنیم!

مدتی وقت گذاشتم و موفق شدم ویراستیار رو روی ورد 2016 اجرا کنم ولی به نکته‌ای برخورد کردم. این برنامه بصورت عمدی توسط برنامه‌نویس‌ها به نسخه‌ی افیس ۲۰۰۳ یا ۲۰۰۷ یا ۲۰۱۰ یا ۲۰۱۳ محدود شده هست. دقت کنید این محدودیت ربطی به کتابخانه‌های VSTO استفاده شده در کد نداره و صرفا توسط برنامه‌نویس تنظیم شده. این قسمت از سورس برنامه رو اینجا می‌تونید ببینید:

با یک تغییر ساده در باینری برنامه توسط DNSpy این مشکل برطرف شد و دیدم که ویراستیار روی تمامی نسخه‌های آفیس از ۲۰۰۳ الی ۲۰۱۹ بدون مشکل اجرا شد. برای اطلاعات بیشتر به مقاله‌ی مربوطه که حدود ۶ سال پیش منتشر شد مراجعه کنید:

https://virgool.io/@epsi1on/httpsvirgooliooxaagl0od19a-oxaagl0od19a

واقعا عجیب بود. من توی هیچ برنامه‌ی دیگری این چنین محدودیت گذاری ای رو ندیده بودم. مثل این هست که من برنامه‌ی خودم رو محدود به ویندوز ۱۱ کنم. خوب طبیعی هست که بعد از ویندوز ۱۱ یک ویندوز دیگری میاد. چرا کاربر نباید بتونه برنامه رو توی اون ویندوز اجرا کنه؟!

نکته ی دیگری هم وجود داشت و اون هم این بود که بعد از اینکه کد msil رو (در عکس بالا) تغییر دادم، ویراستیار باز‌هم اجرا نشد. چون امضای فایلهای dll در هم دیگه ست شده و اصطلاحا فایلهای sign شده بودند. که این رو هم جایی ندیده بودم. تا جایی که من متوجه میشم، معمولا کسی برنامه های اوپن سورس رو کمتر امضا می‌کنند چون اون موقع مجبورن کلید خصوصی امضا رو هم منتشر کنهن که کار جالبی نیست...

اینجا ۲۵ صدم امتیاز منفی دیگه رو هم به تیم توسعه دهنده و نیم امتیاز منفی رو به پیمانکار می‌دم.

# پایان فعالیت توسعه

در سیل مهاجرت متخصصان این مملکت که من خودم با حالی گریان ازش یاد می‌کنم، ۲ تا از برنامه‌نویسان اصلی این پروژه از ایران مهاجرت کردند و احتمالا باقی برنامه‌نویس‌ها به تیم پاکنویس پیوستند.

وقتی تعجب کردم و همزمان ناراحت شدم که فهمیدم شرکت متا (صاحب فیسبوک و اینستا)، دوستان و اساتیدی که در تیم توسعه ویراستیار بوده اند و در تحلیل NLP زبان فارسی تخصص داشته‌اند رو به استخدام خود درآورده! یاد داد و بیداد خانم "ابتهال ابوسعد" افتادم که مراسم سالگرد ماکروسافت رو بهم ریخت. ایشون در برحه‌ای در قسمت NLP (احتمالا عربی) ماکروسافت نقش ایفا میکرد و بعدها فاش کرد که برنامه‌های توسعه‌ داده شده توسط ماکروسافت به دست اسراییل رسیده، و اسراییل ازش برای پیدا کردن افراد حماس و نیروهای مخالف اسراییل (با استفاده از شنود مکالمات تلفنی و اینترنتی - که طبیعتا به زبان عربی بوده است) استفاده میکنه و خانه‌هاشون رو بمباران می‌کنه.

شورای عالی اطلاع‌رسانی که کارفرمای این پروژه بود در سال ۱۳۹۵ با حکم مستقیم آقای خامنه‌ای به شورای عالی فضای مجازی الحاق می‌شود و فعالیت‌های این شورا متوقف می‌شود.

در صفحه‌ی رسمی ویراستیار در سایت "مرکز تحقیقات اسلامی" یک کاربر سوال کرده که چرا ایرادات این برنامه رو رفع نمی‌کنید (لینک). مدیریت سایت مرکز تحقیقات علوم اسلامی هم گفته:

با توجه به اینکه نرم‌افزار مذکور به سفارش دبیرخانه شورای عالی اطلاع رسانی کشور تولید شده و این شورا نیز پس از ادغام، فعالیت‌هایش نیز متوقف شده، فعلاً امکان به‌روزرسانی این برنامه وجود ندارد. شما می‌توانید از نرم‌افزار رایگان پاک‌نویس استفاده نمایید.

فکر میکنم در همین زمان‌ها بود که ویراست‌لایو هم برای همیشه از دسترس خارج شد

# نرم‌افزار پاکنویس: جایگزین ویراست‌یار

این برنامه هم توسط "موسسه تحقیقات علوم اسلامی" توسعه پیدا کرده و نگه داری میشود. البته اطلاعات خاصی در سایت ان داده نشده ولی در پایین سایت پاکنویس نوشته شده:

حقوق مادی و معنوی این پایگاه متعلق به مرکز تحقیقات کامپیوتری علوم اسلامی است و نشر غیر‌مجاز محتوای آن پیگرد قانونی دارد.

اطلاعات whois این دامنه پنهان شده و اطلاعاتی در دسترس نیست ول DNSهای سایت پاکنویس روی نیم سرورهای Noornet.net تنظیم شده (لینک)

این نرم افزار مثل ویراستیار آفلاین نیست. شما وقتی از ویراستیار استفاده می‌کنید نیازی به استفاده از اینترنت وجود نداره و ویراستیار پردازش رو بصورت Local انجام میده ولی برنامه‌ی پاکنویس پردازش کلمات رو در سرور انجام میده و این یعنی یک کپی از نوشته‌های شما برای سرور ارسال میشه. حالا شما فرض کنید کدام سازمان دولتی جرات استفاده از این برنامه رو خواهد داشت؟! سازمانی که مکاتبات اداری و محرمانه دارد، نمی‌تواند از این برنامه برای نوشتن نامه های اداری‌اش استفاده کند. نکته بعدی اینکه بعد از متوفق شدن ویراستیار، پاکنویس پولی بود و هیچ نسخه‌ی رایگانی نداشت. این رو به وضوح بیاد دارم. ولی در چند سال اخیر پاکنویس رایگان شده.

دقت داشته باشید ویراستیار بدون هیچ مشکلی عملیات پردازش (حتی فایلهای چند صد صفحه‌ای) رو روی کامپیوتر بصورت Local انجام می‌ده و مشکلی نداره. از این لحاظ الزامی وجود نداشت که یک برنامه‌یآانلاین جایگزین آن بشود.

وبسایت ویراستیار به ادرس virastyar.ir هم توسط پیمانکار برنامه یعنی سازمان تحقیقات اسلامی نگه داری می‌شود و پیمانکار بصورت سرخود و احتمالا با استفاده از دسترسی‌های حکومتی در وبسایت ویراستیار، برنامه‌ی پاکنویس را بجای ویراستیار به کاربران توصیه می‌کند! و به کاربران میگوید از ویراستیار استفاده نکنید و از پاکنویس استفاده بکنید.

# پیمانکار برنامه: موسسه تحقیقات علوم اسلامی نور

خوب میرسیم به موسسه تحقیقات علوم اسلامی نور. این موسسه در قم هست. طبق صفحه‌ی ویکی‌پدیا (لینک)

مرکز تحقیقات کامپیوتری علوم اسلامی (نام دیگر نور) در سال ۱۳۶۸ با هدف دیجیتالی کردن منابع علوم اسلامی و به پیشنهاد رهبر انقلاب، آقای سید علی خامنه‌ای تأسیس شد.

بعضی از دوستان این سازمان رو با یک سازمان خصوصی کوچک اشتباه می‌گیرند. این سازمان به نظر یکی از اصلی‌ترین سازمان‌هایی هست که در مورد اسلام و فناوری و رسانه همزمان فعالیت میکنه. افراد کلیدی این سازمان عبارت‌اند از: آقای صادق لاریجانی، اقای سید احمر خاتمی و ... که لیست این افراد رو از سایت خود سازمان میتوانید ببینید: لینک

نکته ای وجود داشت که خیلی جالب بود. شورای عالی اطلاع‌رسانی توسط حکم مستقیم آقای خامنه‌ای به سازمان دیگری الحاق شد و پس از آن فعالیت‌های ان شورا به حالت تعلیق درآمد. همچنین آقای خامنه‌ای پیشنهاد تاسیس این مرکز رو داده بودند.

پس این سازمان یک سازمان نسبتا حکومتی و رده بالا هس. به همین خاطر گفتم این سازمان با دسترسی حکومتی که داشته نرم افزار ویراستیار رو از متن‌باز به رایگان تقلیل داده. و در نهایت این برنامه رو روی افیس ۲۰۱۵ و بعد قفل شده تا کاربران نتونن از ویراستیار روی افیس‌های جدید استفاده کنند و در اخر مجبور به استفاده از افزونه پاکنویس شوند.

# کارشکنی پیمانکار

یکی از اصلی‌ترین تعهدات پیمان‌کار این پروژه این بوده است که همراه با هر نسخه از ویراستیار، کد منبع همان نسخه را نیز منتشر کند (چون تعریف نرم افزار متن‌باز همینه). ویراستیار حدود ۱۸ نسخه‌ی منتشر شده دارد که آخرین آن نسخه بتا ۴ است ولی فقط کدمنبع ۵ نسخه اول منتشر شد و بعد از ان ویراستیار از نرم‌افزار متن باز به یک نرم‌افزار رایگان تقلیل پیدا کرد آن هم بخاطر کارشکنی پیمان‌کار.

در بالا هم دیدیم که چطور یکی دو خط کد ناقابل، باعث شد ویراستیار روی ورد بعد از ۲۰۱۳ اجرا نشه.

>> یاد آوری: پاکنویس در ابتدای کارش رایگان نبود و حق اشتراک می‌خواست.

پیمانکار این برنامه (با کم‌کاری یا اصطلاحا ترک‌فعل) تمام تلاشش رو کرد که تمام کاربران ویراستیار رو ترک کنند و به سمت پاکنویس بروند.

از چند جهت میگم پیمانکار کارشکنی کرده:

- ترک فعل پیمانکار در انتشار کد منبع ویراستیار (مهم‌ترین مورد)

- محدود کردن ویراستیار بروی ورد نسخه ۲۰۱۳ و قبل آن

- تصمیم سر خود برای تغییر در سایت ویراستیار، و توصیه نرم افزار دیگری به جای ویراستیار به کاربران

اگر کد منبع ویراستیار منتشر می‌شد بالاخره فردی پیدا می‌شد که آن ایراد جزیی رو برطرف کنه تا ویراستیار روی ورد نسخه جدید تر هم بالا بیاد ولی ظاهرا پیمانکار تمام تلاش‌اش رو کرد تا تمام کاربران ویراستیار به پاکنویس مهاجرت کنند.

تعارض منافع هم کاملا مشخص هست. پیمانکار یک پروژه‌ی کاملا موازی بنام پاکنویس دارد و منافع شخصی‌اش ایجاب میکند که کاربران ویراستیار را به آن کوچ بدهد! ولی بخاطر کیفیت پایین ان نرم افزار حتی الان هم که یراستیار قدیمی شده باز کاربران تمایل ندارند به پاکنویس کوچ کنند.

# نتیجه‌گیری

نتیجه‌گیری این‌که مجموعه‌ی کارشکنی‌های پیمانکار (موسسه تحقیقات علوم اسلامی نور) باعث شد کد منبع ویراستیار منتشر نشود و همچنین ویراستیار محدود به ورد ۲۰۱۳ بماند و پاکنویس جایگزین آن بشود. پیمانکار، مهمترین تعهد خود که انتشار کدمنبع ویراستیار بود رو فقط کمی انجام داد که با انجام ندادن فرق زیادی نداشت و ظاهرا از سورس کد ویراستیار برای ساخت پاکنویس استفاده کرد و با رفتار غیرحرفه‌ای آن را جایگزین ویراستیار نمود.

# حال حاظر

در هیچ پروژه‌ی نرم افزاری‌ای، تعهدات پیمان‌کار با تحویل نسخه‌ی باینری برنامه تمام نمی‌شود. همین الان هم پیمانکار متعهد هست که کد منبع آخرین نسخه از ویراستیار رو منتشر کنه ولی برای پیمان‌کار تعارض منافع داره چون با این کار ویراستیار جان کمی می‌گیره و باعث میشه پاکنویس کاربران خودش رو از دست بده...

نرم افزار
۰
۰
epsi1on
epsi1on
ذره‌ای کوچک در هستی
شاید از این پست‌ها خوشتان بیاید