Font + Footnote fixes
This commit is contained in:
parent
acaef207c1
commit
adc7254140
6 changed files with 90 additions and 49 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -15,7 +15,7 @@
|
|||
*~
|
||||
*.swp
|
||||
|
||||
# Generated PDFs (если не хочешь хранить)
|
||||
# Generated PDFs
|
||||
*.pdf
|
||||
|
||||
# Templates
|
||||
|
|
|
|||
3
main.tex
3
main.tex
|
|
@ -54,6 +54,9 @@ sorting=none]{biblatex}
|
|||
|
||||
\usepackage{titlesec}
|
||||
|
||||
\usepackage{etoolbox}
|
||||
\AtBeginEnvironment{tabular}{\fontsize{12pt}{14.4pt}\selectfont}
|
||||
|
||||
\setcounter{tocdepth}{2}
|
||||
|
||||
\begin{document}
|
||||
|
|
|
|||
|
|
@ -5,3 +5,8 @@
|
|||
\end{center}
|
||||
\vspace{1em}
|
||||
}
|
||||
\makeatletter
|
||||
\renewcommand{\footnotesize}{%
|
||||
\@setfontsize\footnotesize{11pt}{13.2pt} % {размер шрифта}{межстрочный интервал}
|
||||
}
|
||||
\makeatother
|
||||
10
patches.tex
10
patches.tex
|
|
@ -2,3 +2,13 @@
|
|||
\renewcommand{\cfttoctitlefont}{\hfill\bfseries\fontsize{14pt}{16pt}\selectfont}
|
||||
\renewcommand{\cftaftertoctitle}{\hfill}
|
||||
\renewcommand{\contentsname}{\MakeUppercase{Содержание}}
|
||||
% Принудительная установка шрифта для всего документа
|
||||
\fontsize{14pt}{16.8pt}\selectfont
|
||||
|
||||
% Команда для восстановления шрифта после таблиц
|
||||
\newcommand{\resetfont}{\fontsize{14pt}{16.8pt}\selectfont}
|
||||
|
||||
% Настройка заголовков разделов
|
||||
\titleformat*{\section}{\normalfont\fontsize{14pt}{16.8pt}\bfseries}
|
||||
\titleformat*{\subsection}{\normalfont\fontsize{14pt}{16.8pt}\bfseries}
|
||||
\titleformat*{\subsubsection}{\normalfont\fontsize{14pt}{16.8pt}\bfseries}
|
||||
|
|
@ -37,42 +37,56 @@
|
|||
\subsubsection{Верификация оценки трудозатрат на основе анализа исторических данных аналогов}
|
||||
Для обоснования реалистичности планируемых трудозатрат был проведён самостоятельный количественный анализ истории разработки трёх классических open-source архиваторов. Методология заключалась в сборе и обработке данных из публичных git-репозиториев с использованием скриптов на основе команд `git log` и `git diff` \cite{git_log_docs}.
|
||||
|
||||
\begin{table}[h!]
|
||||
\centering
|
||||
\begin{longtable}{|p{0.22\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|}
|
||||
\caption{Результаты сравнительного анализа истории разработки open-source архиваторов (по данным git-репозиториев)}
|
||||
\label{tab:project_analysis}
|
||||
\begin{tabular}{|p{0.22\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|}
|
||||
\hline
|
||||
Критерий & \texttt{bzip2} & \texttt{xz utils} & \texttt{zstd} \\ \hline
|
||||
Период анализа (гг.) & 1997--2023 & 2009--2023 & 2015--2023 \\ \hline
|
||||
Общее число коммитов & 180 & > 1000 & > 3000 \\ \hline
|
||||
Ориентировочный чистый прирост строк кода* & $\approx$ 16 600 & Значительный & Наибольший \\ \hline
|
||||
Выявленная модель разработки & Индивидуальная, с переходом к поддержке сообществом & Распределённая с выделенным мейнтейнером & Промышленная, командная \\ \hline
|
||||
Оценка релевантности как аналога & Высокая (базовый кейс) & Умеренная (верхняя граница сложности) & Низкая (промышленный масштаб) \\ \hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
\label{tab:project_analysis_long} \\
|
||||
\hline
|
||||
Критерий & \texttt{bzip2} & \texttt{xz utils} & \texttt{zstd} \\ \hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{4}{c}{Продолжение таблицы \thetable{}} \\
|
||||
\hline
|
||||
Критерий & \texttt{bzip2} & \texttt{xz utils} & \texttt{zstd} \\ \hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\endfoot
|
||||
|
||||
Период анализа (гг.) & 1997--2023 & 2009--2023 & 2015--2023 \\ \hline
|
||||
Общее число коммитов & 180 & > 1000 & > 3000 \\ \hline
|
||||
Ориентировочный чистый прирост строк кода* & $\approx$ 16 600 & Значительный & Наибольший \\ \hline
|
||||
Выявленная модель разработки & Индивидуальная, с переходом к поддержке сообществом & Распределённая с выделенным мейнтейнером & Промышленная, командная \\ \hline
|
||||
Оценка релевантности как аналога & Высокая (базовый кейс) & Умеренная (верхняя граница сложности) & Низкая (промышленный масштаб) \\ \hline
|
||||
\end{longtable}
|
||||
\vspace{5pt}
|
||||
\noindent \footnotesize{*Расчёт выполнен автором на основе агрегированной статистики git-репозиториев.}
|
||||
\noindent {\footnotesize *Расчёт выполнен автором на основе агрегированной статистики git-репозиториев.}
|
||||
|
||||
Анализ показал, что проект \texttt{bzip2}, являющийся полнофункциональным архиватором, был создан и длительно поддерживался силами, эквивалентными работе одного разработчика. Его итоговый объём кода ($\approx$ 16.6 тыс. строк) и история коммитов позволяют сделать вывод о реалистичности разработки аналогичного по масштабу, но более простого (использующего стандартный DEFLATE) продукта в сжатые сроки.
|
||||
|
||||
\subsubsection{Оценка трудозатрат и ресурсов для разработки}
|
||||
На основе проведённого сравнительного анализа, а также с учётом принципов декомпозиции работ по методологии, изложенной в \cite[с. 86--90]{polyansky_ekonomika_2017}, составлена детальная оценка трудозатрат. Для расчёта фонда оплаты труда (ФОТ) принята рыночная ставка разработчика средней квалификации (C-программист/инженер ПО) в размере 1 200 руб./час, что соответствует данным по региональному рынку труда на 2024--2025 гг.
|
||||
|
||||
\begin{table}[h!]
|
||||
\centering
|
||||
\begin{longtable}{|p{0.35\textwidth}|p{0.2\textwidth}|p{0.15\textwidth}|p{0.15\textwidth}|}
|
||||
\caption{Оценка трудозатрат на разработку программного продукта}
|
||||
\label{tab:labor_estimation}
|
||||
\begin{tabular}{|p{0.35\textwidth}|p{0.2\textwidth}|p{0.15\textwidth}|p{0.15\textwidth}|}
|
||||
\hline
|
||||
Этап разработки & Трудозатраты, час & Ставка, руб./час & Стоимость, руб. \\ \hline
|
||||
Анализ требований и проектирование архитектуры & 40 & 1 200 & 48 000 \\ \hline
|
||||
Программирование (реализация модулей) & 100 & 1 200 & 120 000 \\ \hline
|
||||
Тестирование и отладка & 40 & 1 200 & 48 000 \\ \hline
|
||||
Написание документации и подготовка релиза & 20 & 1 200 & 24 000 \\ \hline
|
||||
Итого по ФОТ & 200 & {} & 240 000 \\ \hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
\label{tab:labor_estimation_long} \\
|
||||
\hline
|
||||
Этап разработки & Трудозатраты, час & Ставка, руб./час & Стоимость, руб. \\ \hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{4}{c}{Продолжение таблицы \thetable{}} \\
|
||||
\hline
|
||||
Этап разработки & Трудозатраты, час & Ставка, руб./час & Стоимость, руб. \\ \hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\endfoot
|
||||
|
||||
Анализ требований и проектирование архитектуры & 40 & 1 200 & 48 000 \\ \hline
|
||||
Программирование (реализация модулей) & 100 & 1 200 & 120 000 \\ \hline
|
||||
Тестирование и отладка & 40 & 1 200 & 48 000 \\ \hline
|
||||
Написание документации и подготовка релиза & 20 & 1 200 & 24 000 \\ \hline
|
||||
Итого по ФОТ & 200 & {} & 240 000 \\ \hline
|
||||
\end{longtable}
|
||||
|
||||
Таким образом, общая оценка трудозатрат на создание MVP консольного архиватора составляет 200 человеко-часов, а фонд оплаты труда (ФОТ) — 240 000 рублей. Данная оценка является консервативной и опирается на анализ наиболее релевантного аналога (\texttt{bzip2}), что обеспечивает запас при планировании и соответствует принципам реалистичного прогнозирования в условиях малого open-source проекта.
|
||||
|
||||
|
|
@ -95,21 +109,28 @@ PM = 2,4 \times 5^{1,05} \times 0,90 \approx 2,4 \times 5,38 \times 0,90 = 11,6
|
|||
\subsubsection{Расчёт капитальных затрат (CAPEX)}
|
||||
Капитальные затраты (CAPEX) включают все единовременные инвестиции, необходимые для создания программного продукта. Для проекта, использующего исключительно открытые инструменты, структура CAPEX существенно отличается от типичной коммерческой разработки.
|
||||
|
||||
\begin{table}[h!]
|
||||
\centering
|
||||
\begin{longtable}{|p{0.4\textwidth}|p{0.35\textwidth}|p{0.2\textwidth}|}
|
||||
\caption{Структура капитальных затрат (CAPEX)}
|
||||
\label{tab:capex_structure}
|
||||
\begin{tabular}{|p{0.4\textwidth}|p{0.35\textwidth}|p{0.2\textwidth}|}
|
||||
\hline
|
||||
Статья расходов & Основание для расчёта & Сумма, руб. \\ \hline
|
||||
Фонд оплаты труда (ФОТ) & Данные из Таблицы \ref{tab:labor_estimation} & 240 000 \\ \hline
|
||||
Лицензионное ПО и инструменты & Используется только open-source стек (NeoVim, GCC, Git, Forgejo) & 0 \\ \hline
|
||||
Оборудование (амортизация) & Ноутбук разработчика (80 000 руб.), срок службы 3 года, период разработки 3 мес. (0.25 года). \newline Амортизация: \( \frac{80\,000}{3} \times 0.25 = 6\,667 \) & 6 667 \\ \hline
|
||||
Накладные расходы & 15\% от ФОТ (аренда рабочего места дома, интернет, электричество) \newline \( 240\,000 \times 0.15 = 36\,000 \) & 36 000 \\ \hline
|
||||
Резервный фонд & 10\% от суммы прямых затрат (ФОТ + Оборудование) на непредвиденные расходы \newline \( (240\,000 + 6\,667) \times 0.10 = 24\,667 \) & 24 667 \\ \hline
|
||||
ИТОГО CAPEX & & 307 334 \\ \hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
\label{tab:capex_structure_long} \\
|
||||
\hline
|
||||
Статья расходов & Основание для расчёта & Сумма, руб. \\ \hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{3}{c}{Продолжение таблицы \thetable{}} \\
|
||||
\hline
|
||||
Статья расходов & Основание для расчёта & Сумма, руб. \\ \hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\endfoot
|
||||
|
||||
Фонд оплаты труда (ФОТ) & Данные из Таблицы \ref{tab:labor_estimation} & 240 000 \\ \hline
|
||||
Лицензионное ПО и инструменты & Используется только open-source стек (NeoVim, GCC, Git, Forgejo) & 0 \\ \hline
|
||||
Оборудование (амортизация) & Ноутбук разработчика (80 000 руб.), срок службы 3 года, период разработки 3 мес. (0.25 года). \newline Амортизация: \( \frac{80\,000}{3} \times 0.25 = 6\,667 \) & 6 667 \\ \hline
|
||||
Накладные расходы & 15\% от ФОТ (аренда рабочего места дома, интернет, электричество) \newline \( 240\,000 \times 0.15 = 36\,000 \) & 36 000 \\ \hline
|
||||
Резервный фонд & 10\% от суммы прямых затрат (ФОТ + Оборудование) на непредвиденные расходы \newline \( (240\,000 + 6\,667) \times 0.10 = 24\,667 \) & 24 667 \\ \hline
|
||||
ИТОГО CAPEX & & 307 334 \\ \hline
|
||||
\end{longtable}
|
||||
|
||||
Таким образом, общий объём капитальных вложений, необходимых для запуска проекта, составляет 307 334 рубля. Критически важным отличием от коммерческого сценария является нулевая стоимость лицензионного ПО, что напрямую вытекает из философии открытого кода и является ключевым фактором снижения первоначального барьера для входа \cite{raymond_cathedral}.
|
||||
|
||||
|
|
@ -131,14 +152,14 @@ PM = 2,4 \times 5^{1,05} \times 0,90 \approx 2,4 \times 5,38 \times 0,90 = 11,6
|
|||
\end{tabular}
|
||||
\end{table}
|
||||
\vspace{5pt}
|
||||
\noindent \footnotesize{*В расчётах используется вариант с бесплатным хостингом как наиболее типичный для малых проектов \cite{linux_census3_2024}. Стоимость VPS указана для справки.}
|
||||
\noindent {\footnotesize *В расчётах используется вариант с бесплатным хостингом как наиболее типичный для малых проектов \cite{linux_census3_2024}. Стоимость VPS указана для справки.}
|
||||
|
||||
Основной статьёй OPEX является техническая поддержка. В модели open-source проекта \cite{raymond_cathedral} часть этой работы может выполняться сообществом, однако для гарантированного поддержания проекта в работоспособном состоянии в расчёт заложены минимальные затраты на частичную занятость разработчика.
|
||||
|
||||
\subsubsection{Прогнозирование выручки от внедрения продукта}
|
||||
Для open-source проекта, распространяемого под лицензией GPL, традиционная модель монетизации через продажу лицензий неприменима. В качестве основной модели принята модель платной поддержки и консалтинга для корпоративных пользователей, желающих гарантировать работоспособность и безопасность утилиты в своей инфраструктуре.
|
||||
|
||||
Согласно исследованию Д. Рихле, для компаний, работающих по модели single-vendor commercial open source, типичная конверсия пользователей в платящих клиентов составляет от 0,5% до 2% \cite{riehle_single_vendor_2012}. Это значение значительно ниже использованного в первоначальном прогнозе, поэтому для получения более реалистичной картины целесообразно рассмотреть несколько сценариев.
|
||||
Согласно исследованию Д. Рихле, для компаний, работающих по модели single-vendor commercial open source, типичная конверсия пользователей в платящих клиентов составляет от 0,5\% до 2\% \cite{riehle_single_vendor_2012}. Это значение значительно ниже использованного в первоначальном прогнозе, поэтому для получения более реалистичной картины целесообразно рассмотреть несколько сценариев.
|
||||
|
||||
Исходные данные для прогнозирования представлены в таблице \ref{tab:revenue_params}. Конверсия в установку \(C_{install}=2\%\) оценивает долю компаний, которые заинтересуются продуктом и начнут его использовать. На её основе определяется число активных пользователей \(U_{мес}\). Затем с помощью конверсии \(C_{active}\) (пессимистичной, реалистичной и оптимистичной) рассчитывается число клиентов платной поддержки и годовая выручка.
|
||||
|
||||
|
|
@ -194,7 +215,7 @@ PM = 2,4 \times 5^{1,05} \times 0,90 \approx 2,4 \times 5,38 \times 0,90 = 11,6
|
|||
\end{tabular}
|
||||
\end{table}
|
||||
\vspace{5pt}
|
||||
\noindent \footnotesize{*При расчёте налога на прибыль учитывается, что налогооблагаемая база не может быть отрицательной.}
|
||||
\noindent {\footnotesize *При расчёте налога на прибыль учитывается, что налогооблагаемая база не может быть отрицательной.}
|
||||
|
||||
Как видно из расчётов, проект является убыточным при рассмотрении исключительно прямых финансовых потоков. Годовой убыток составляет 437 375 рублей. Рентабельность продаж (ROS) отрицательна. Данный результат является типичным для многих open-source проектов, ценность которых заключается не в прямой монетизации, а в создании общественного блага, построении репутации, портфолио разработчика и косвенных экономических эффектах \cite{eu_report}.
|
||||
|
||||
|
|
|
|||
|
|
@ -260,7 +260,9 @@
|
|||
Проведённый анализ позволяет сформулировать следующие выводы, являющиеся основой для практического расчёта в Главе 2:
|
||||
\begin{enumerate}
|
||||
\item Для оценки алгоритмической сложности разрабатываемого архиватора возможно использование аппарата параметрических моделей (адаптированной COCOMO) на этапе проектирования.
|
||||
\item Структура затрат для open-source проекта будет кардинально отличаться от коммерческого: необходимо рассчитать два сценария — «коммерческий» (полная калькуляция) и «реальный open-source» (учёт только прямых материальных затрат и альтернативной стоимости времени).
|
||||
\item Структура затрат для open-source проекта будет кардинально отличаться от коммерческого: необходимо рассчитать два сценария — «коммерческий» (полная калькуляция) и «реальный open-source» (учёт только прямых материальных затрат и альтернативной стоимости времени). % Принудительная установка шрифта для всего документа
|
||||
\fontsize{14pt}{16.8pt}\selectfont
|
||||
|
||||
\item Ключевым экономическим показателем для подобного проекта является не прямая прибыль, а соотношение общественной полезности (ценности) к понесённым затратам. Это требует введения в анализ качественных и косвенных количественных метрик.
|
||||
\item Предлагаемая в работе методика должна быть гибридной: сочетать формальный расчёт для частей проекта, поддающихся оценке (трудозатраты на реализацию ядра), и экспертную оценку для специфических аспектов open-source (стоимость поддержки сообщества, ценность портфолио). При этом выбор модели монетизации (например, Open Core или SaaS) будет определять структуру потенциальных доходов проекта.
|
||||
\end{enumerate}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue