Предложение, план развития

Everything you can't fit into other forums
  • theonlymirage wrote:Перепись ядра на arm, x64 и прочие архитектуры затруднительна.
    А вот была такая идея ещё:
    art_zh wrote:Если (и когда) будет свободное время - хочу замутить на базе Колибри "гибридную" операционку: 32-битное ядро крутится на первой голове CPU и запускает стандартные приложения в обычном режиме. А вторая голова (которая сейчас все равно спит) при старте системы переводится в long mode и работает в своем адресном пространстве и только с 64-битными процессами.
    theonlymirage wrote:дать вторую жизнь устаревающему железу (и сделать это основной нишей для Kolibri OS);
    Насчёт основной — не согласен, ведь на современном железе она будет работать ещё быстрее, возможно, в чём-то даже экономичнее.
    theonlymirage wrote:реализовывать проекты близкие к работе с жёстким реальным временем, где требуется непрерывная работа 1 специфичного приложения.
    Думаю, в этом был бы смысл. Но заинтересованных людей в проекте похоже уже не осталось.
    CleverMouse wrote:
    Mega_Myr wrote:Колибри ведь позиционируется как надёжная ОС для встраиваемых систем?! Или нет?
    Нет. Колибри позиционируется как маленькая десктопная ОС.
    theonlymirage wrote:Было бы правильным соориентироваться в пунктах, которые нужно улучшить. Назову этот список "Хотелки к Kolibri 0.8.0.0":
    Да, согласен. Я уже давно говорил о необходимости RoadMap. Нужны критерии, должна быть какая-то определённость.
    theonlymirage wrote:- покрыть тестами существующие сис.функции и ядро;
    Не помешало бы, но людей в проекте очень мало. Хотя это могла быть идея для GSOC, например.
    theonlymirage wrote:- исправить найденные баги (предыдущим пунктом);
    В первую очередь исправить уже известные баги(а такие тоже есть).
    theonlymirage wrote:- реализовать/улучшить/портировать приложения: web-server (в мире есть несколько серверов, написанных на asm'е), ftp, web-dav, python и полноценная IDE;
    Причём здесь python? Так-то есть tinypy http://board.kolibrios.org/viewtopic.php?f=45&t=1655 но что-то не заметно, чтобы кто-то этим пользовался.
    theonlymirage wrote:- полноценная поддержка ФС на чтение и запись: ntfs, ext3, ext4;
    Я бы добавил XFS http://board.kolibrios.org/viewtopic.php?f=31&t=2366 оно работало уже на чтение http://websvn.kolibrios.org/revision.ph ... 3&peg=3913 но потом было отключено http://websvn.kolibrios.org/revision.ph ... 3&peg=6503

    Только версия ИМХО должна быть 0.7.8.0, далеко ещё до 0.8.0.0.
    theonlymirage wrote:Кто-то готов целеустремлённо работать/развиваться в этом направлении?
    В данный момент вроде бы hidnplayr работает над драйвером для Atheros http://board.kolibrios.org/viewtopic.ph ... 570#p70570
    Надеюсь, dunkaist всё же когда-нибудь допилит XFS http://board.kolibrios.org/viewtopic.ph ... 591#p70583
  • Будем работать по совпавшим моментам/идеям/мыслям.
    Предлагаю всем неравнодушным к проекту поучаствовать в составлении RoadMap. Вот, что я набросал на текущий момент:

    Code: Select all

    Kolibri OS RoadMap
    
    Обозначения:
    [-] не выполнено/ждёт выполнения
    [+] реализовано/выполнено
    [!] в разработке (в настоящее время)
    [?] идея/функция под вопросом
    
    
    ### 0.7.8.0   <<<< CURRENT STATE
    [-] покрыть тестами существующие системные функции и ядро;
    [-] исправить найденные баги;
    [-] актуализировать/обновить документацию системных функций ядра;
    [-] полноценная поддержка ФС на чтение и запись: ntfs;
    [-] общая графическая библиотека UI (пользовательского интерфейса);
    [-] тест и исправление стандартных приложений системы;
    [?] новые приложения: конвертер величин, будильник, аналог cron;
    [-] фиксация ветви в SVN.
    
    ### 0.7.8.0+
    [-] реализовать/улучшить/портировать приложения: web-server (есть несколько серверов, написанных на asm'е), ftp; 
    [-] запуск web-странички о колибри из-под самой KolibriOS;
    [?] замер кол-ва подключений, пика обслуживания клиентов, на конкретном железе и выводы о результатах использования Колибри как веб-сервера (в боевом режиме в Интернет, и в домашнем режиме);
    [?] обновление пользовательской документации.
    
    ### 0.7.9.0
    [-] полноценная поддержка ФС на чтение и запись: ext3, ext4;
    [-] полноценная IDE: подсветка синтаксиса, визуальное редактирование окон и элементов;
    [?] драйвера;
    [-] фиксация ветви в SVN.
    
    ### 0.7.9.0+
    [?] конвертер: DocxToTxt и XlsxToCSV и наоборот.
    
    ### 0.8.0.0
    [?] эксперимент с "гибридным" x64 ядром;
    [-] полноценная поддержка ФС на чтение и запись: xfs;
    [-] реализовать/улучшить/портировать приложения: web-dav; 
    [-] поддержка 3G/4G usb-модемов;
    [-] WiFi;
    [-] портирование и поддержка языка программирования python;
    [-] фиксация ветви в SVN.
    
    ### конец файла.
    Интересны любые ваши мысли и советы, приветствуются правки. Финальный план дорожной карты планируется загрузить в SVN.

    А теперь несколько ответов:
    0CodErr wrote:В первую очередь исправить уже известные баги(а такие тоже есть).
    Полностью поддерживаю.
    0CodErr wrote:Причём здесь python?
    Python всё ещё набирает популярность, потенциально много новых людей смогут присоединиться к развитию решений на Колибри (а значит и популязировать систему в определённом круге задач). После реализации веб-сервера, вопросов про питон станет больше, так как python идёт из коробки с любым современным юникс дистрибутивом. Это своего рода норма. Люди (и системные администраторы и программисты) привыкли писать на питоне некоторые виды автоматизирующих скриптов (и все они могут быть легко перенесены после реализации питона под Колибри ОС). Питон часто используют в машинном обучении, поэтому развивая его сейчас, мы заложим ступеньку близкую к популярным и современным технологиям. К тому же, если питон и его библиотеки будут оптимизированы на х86 это станет очень весомым аргументом.
    0CodErr wrote:Насчёт основной — не согласен, ведь на современном железе она будет работать ещё быстрее, возможно, в чём-то даже экономичнее.
    На мой взгляд без серьёзных изменений в системе, мы там не конкуренты.
    Проблема в том, что на мощном железе люди поставят Ubuntu, Windows 7 и всё что угодно, но не Колибри. Например, ОЗУ. Если современный компьютер устареет, то это около 8Гб ОЗУ, системы х32 не поддерживают более 4Гб. Зачем Колибри столько? То же самое по всем остальным фронтам: многоядерность, сложные графические чипы (драйверов которых нет) и так далее. Колибри просто не раскроет это железо, а наличие множества популярнейших приложений и сервисов, баз данных - не даст Колибри никакого шанса.
    Пока не могу правильно сформулировать, но... Идею и задачу проекта Колибри ОС вижу в раскрытии мощности уже устаревающего железа. Возможность использования такого железа под реальные и полезные задачи. Фактически Колибри дарует железу новую жизнь, выводя эффективность этого железа на максимум и делая его востребованным в повседневной жизни.
    Основной плюс такого видения цели проекта: команде разработчиков не нужно кардинально менять методику взаимодействия, проект может развиваться в таком же ключе, как и до этого. Причём мы получаем вполне конкретную цель и избегаем проблемных мест, например: нет необходимости переписи ядра на другую архитектуру. Зато когда в очередной раз на форуме спросят "зачем вы это пишите? с какой целью существует проект?", вы ответите, что:
    Колибри ОС создана для того, чтобы вы не выбрасывали старое железо, а применили немного творчества (креатива) и сделали на его основе современный и полезный сервис. Это может быть небольшой веб- или почтовый сервер, файловый менеджер и так далее.
  • theonlymirage wrote:Вот, что я набросал на текущий момент:
    Ну вот, уже что-то. Раньше вообще ничего не было.
    theonlymirage wrote:[?] новые приложения: конвертер величин, будильник, аналог cron;
    Кое-что уже было http://board.kolibrios.org/viewtopic.php?f=42&t=1684
    theonlymirage wrote:[?] конвертер: DocxToTxt и XlsxToCSV и наоборот.
    Вот, кстати, есть такой конвертер http://board.kolibrios.org/viewtopic.ph ... 773#p19773
    theonlymirage wrote:[-] полноценная поддержка ФС на чтение и запись
    Надо сказать, что и с FAT были проблемы
    0CodErr wrote:Вот, кстати, такой баг обнаружился, иногда создаются файлы с неверными атрибутами, например, месяц ну никак не может быть равен 15. Проявляется примерно 1 из 10000.
    А вот из недавнего http://board.kolibrios.org/viewtopic.ph ... 789#p70772 пока ещё причина не найдена.
    theonlymirage wrote:актуализировать/обновить документацию системных функций ядра;
    Я бы добавил ещё документацию по внутреннему устройству ядра и драйверам(взаимодействие с ядром\приложениями). Кое-что есть, но что-то уже успело устареть:
    theonlymirage wrote:Идею и задачу проекта Колибри ОС вижу в раскрытии мощности уже устаревающего железа.
    Когда-нибудь современное тоже устареет, но зачем ждать?
    Может быть, читал уже темы:
  • Возможно есть некоторый смысл, например, запустить на Колибри систему реверс-инжиниринга (radare2).
    Из встроенных систем, например, аналог LinuxCNC.

    P.S. Для системы должны быть программы, которые хотелось бы использовать вместе с ней (в какой то степени - эксклюзивчик) . :)
    Обучающие курсы по ассемблеру можно строить на базе КолибриОС Поисковый запрос ассемблера на торрентах

    Возможно, что то из опыта КолибриОС есть и в закрытой системе QP OS Мимо делом слово КолибриОС прозвучало в докладе по данной ОС :)
  • 0CodErr wrote:Когда-нибудь современное тоже устареет, но зачем ждать?
    В данном случае, ты не можешь съесть шоколадку, пока не пойдёшь в магазин, пока не купишь и не распакуешь её. Здесь есть три основных варианта:
    1. постепенно наращивать существующее, увеличивая сферы применения ос и открывая потребности в новых мощностях, и уже затем дорасти до нужного железа или нагнать его - это доступный нам вариант, наиболее всех устраивающий;
    2. взять самое топовое новое железо, забыть о всём прошлом коде (или вероломно раздербанить его на кусочки для нового) и начать писать новый код под это железо - пока напишем, оно как раз устареет. Нужна хорошая проработка архитектуры. Пункт 2 нам не подходит из-за переписи ОС, организации проекта и малого кол-ва участников. К тому же, многие участники проекта и пользователи против такой разработки (это неоднократно обсуждалось на форуме);
    3. вести разработки 1 и 2 параллельно, сделать это нам не позволяет кол-во участников проекта.
    Поэтому я за постепенное развитие, видение потребностей и их закрытие проектом. Будет здорово, если ты подробнее опишешь свою точку зрения и предложишь другой вариант развития, возможно я что-то упускаю.

    Kopa wrote:Возможно есть некоторый смысл, например, запустить на Колибри систему реверс-инжиниринга (radare2).
    Из встроенных систем, например, аналог LinuxCNC.
    Аналог LinuxCNC поддерживаю, подобные попытки обсуждаются очень давно, нужно найти время и посмотреть, что мы можем с этим сделать. radare2 под вопросом, но я включил его обсуждение в дорожную карту.


    Предварительный вид RoadMap:

    Code: Select all

    Kolibri OS RoadMap
    
    [RU]
    
    Обозначения:
    [-] не выполнено/ждёт выполнения
    [+] реализовано/выполнено
    [!] в разработке (в настоящее время)
    [?] идея/функция под вопросом
    
    
    ### 0.7.8.0   <<<< CURRENT STATE
    [-] покрыть тестами существующие системные функции и ядро;
    [-] исправить найденные баги;
    [-] актуализировать/обновить документацию системных функций ядра;
    [-] полноценная поддержка ФС на чтение и запись: ntfs;
    [-] общая графическая библиотека UI (пользовательского интерфейса);
    [-] тест и исправление стандартных приложений системы;
    [?] новые приложения: конвертер величин, будильник, аналог cron;
    [-] проработка архитектуры Kolibri Machine Controller(KMC), аналога LinuxCNC, на основе MachineKit;
    [-] фиксация ветви в SVN.
    
    ### 0.7.8.0+
    [-] реализовать/улучшить/портировать приложения: web-server (есть несколько серверов, написанных на asm'е), ftp; 
    [-] запуск web-странички о колибри из-под самой KolibriOS;
    [?] замер кол-ва подключений, пика обслуживания клиентов, на конкретном железе и выводы о результатах использования Колибри как веб-сервера (в боевом режиме в Интернет, и в домашнем режиме);
    [?] общественное обсуждение портирования radare2  (система реверс-инжиниринга, в целом она есть подо всё, поэтому портировать проще, но за счёт этого же она не станет эксклюзивом под Kolibri, 
    вопрос в потребностях пользователей);
    [?] обновление пользовательской документации;
    [?] актуализировать/обновить документацию по внутреннему устройству ядра и драйверам (взаимодействие с ядром/приложениями);
    [?] привлечение Колибри ОС в образовательные программы 
         (статьи/видео на основе документации в помощь преподавателям и ученикам/студентам и евангелисты Колибри, проводящие семинары и лекции и делящиеся опытом).
    
    ### 0.7.9.0
    [-] полноценная поддержка ФС на чтение и запись: ext3, ext4;
    [-] полноценная IDE: подсветка синтаксиса, визуальное редактирование окон и элементов;
    [?] драйвера;
    [-] базовая реализация Kolibri Machine Controller(KMC);
    [-] фиксация ветви в SVN.
    
    ### 0.7.9.0+
    [?] конвертер: DocxToTxt и XlsxToCSV и наоборот.
    
    ### 0.8.0.0
    [?] эксперимент с "гибридным" x64 ядром;
    [-] полноценная поддержка ФС на чтение и запись: xfs;
    [-] реализовать/улучшить/портировать приложения: web-dav; 
    [-] поддержка 3G/4G usb-модемов;
    [-] WiFi;
    [-] портирование и поддержка языка программирования python;
    [-] фиксация ветви в SVN.
    
    ### конец файла.
    
    
    
    [EN]
    Принимаются предложения! Стараюсь включать по максимуму пожелания участников, но некоторые потребуют дальнейшего обсуждения и голосования.
    Как уже писал 0CodErr, есть предварительная реализация некоторых пунктов из дорожной карты, но я не стану вычёркивать эти пункты из road map а оставлю на разбор, пока сообщество не убедится, что они покрывают наши потребности (в таком или исправленном виде). На то она и road map, что мы пройдёмся по этим пунктам, проведём работы, примем решения и закроем все вопросы.

    P.S. Было бы здорово провести в VK опросы на тему:
    1) "я хотел(-а) применить/воспользоваться Колибри ОС для " решения таких-то задач, "но, мне помешало " то, что в Колибри ОС нет/отсутствует/сделано так-то и вот это.
    2) я бы повседневно использовал(-а) или нашёл (нашла) повседневное применение Колибри, если бы ... список важных пунктов ...
  • RoadMap добавил в ревизии #7317. При её обновлении нужно будет изменить имя файла на просто roadmap.txt, а информацию о кодировке перенести в начало файла (сразу не подумал, теперь глаза в корневой директории режет).
    Сейчас план таков:
    ### 0.7.8.0
    [-] test existing system functions and kernel;
    [-] fix found bugs;
    [-] update the system functions documentation;
    [-] full support for reading and writing NTFS;
    [-] common UI graphical library (user interface library);
    [-] test and fix system applications;
    [-] implement / improve / port any web-server (there are servers written in assembler);
    [-] converter: DocxToTxt, XlsxToCSV and conversely;
    [-] possible improve ftp;
    [-] application: unit converter;
    [-] alarm clock application;
    [-] semblance of cron;
    [-] jabber xmpp-client;
    [-] development and discussion of architecture Kolibri Machine Controller(KMC), semblance of LinuxCNC, based on MachineKit;
    [-] fixing a branch/tags in SVN.
    Перехожу на написание тестов для системных функций ядра. Сколько смогу буду потихоньку покрывать. Если кто-то хочет оформить test-case сетевого стека, то смело приступайте. Ещё было бы неплохо написать утилиты для прогона тестов, наверное что-то типо unit тестов.

    Тесты (test-case) нужны для функций:
    • GUI подсистемы
    • Файловой системы
    • Сетевого стека
    • Буфера обмена (clipboard)
    • Звуковой подсистемы
    • Процессы, события и IPC
    • Отладка, debug
    • Прочие системные
    Last edited by theonlymirage on Tue Aug 21, 2018 9:10 am, edited 1 time in total.
  • Мне кажется, лучше в первую очередь отталкиваться от возможностей ядра.
    У тебя в списке на первом месте GUI подсистемы, а по идее сперва нужно ФС и сеть.
    Вот, кстати, тема про NTFS http://board.kolibrios.org/viewtopic.php?f=31&t=659
  • 0CodErr wrote:Мне кажется, лучше в первую очередь отталкиваться от возможностей ядра.
    У тебя в списке на первом месте GUI подсистемы, а по идее сперва нужно ФС и сеть.
    Это не критично, сейчас расскажу.
    Но сперва небольшое отступление. Конечно в списке roadmap есть несколько последовательных пунктов (например: test case, тестирование, исправление багов), но остальные можно выполнять в произвольном порядке. Большинство задач для одного человека трудноподъёмны (особенно, если заниматься ими только в свободное время), поэтому я беру, что сейчас наиболее могу продвинуть и начать. Суть всего списка, что он составляет цель и разные люди могут взять разные задачи и работать параллельно друг другу. Взявшие одну задачу, договариваются между собой и так же делят её на подзадачи, пока за конкретный кусок не станет отвечать конкретный товарищ. Потом, когда один сделал все свои задачи, святое дело помочь другому. Это был ваш капитан очевидность.
    Речь (и вопрос) в основном была про test case, где я записал в начале "GUI подсистемы". Просто я разделил тесты по категориям, в данном случае по функционалу. Предполагаю, что кто-то захочет писать тесты тоже, он возьмёт на себя определённую категорию. "GUI подсистемы" оказались на первом месте по тому, что я быстро пробежался по сис. функциям и в начале было:

    Code: Select all

    Функция 0 - определить и нарисовать окно.
    Функция 1 - поставить точку в окне.
    Потом по памяти записал список категорий.
    Короче, это не порядок составления тестов, а категории, на которые их можно и нужно разбить. Покрывать нужно всё, что есть, и даже удобнее идти сверху вниз по номерам функций ядра.
  • Ну вот о каких роадмапах может идти речь, если тут такое творится http://board.kolibrios.org/viewtopic.php?f=1&t=3743
    И ведь администрация в курсе.

    Кстати, о роадмапах...
    Было бы замечательно уметь форматировать диски из-под самой KolibriOS.
    И что-то обсуждалось уже в теме Необходимость разработки инсталлятора
    Кстати, сам инсталлятор тоже бы не помешал.
    Вообще есть KolibriOS Installer(судя по количеству скачиваний — оно востребовано), но это для FAT32 и под Windows.
  • 0CodErr wrote: Было бы замечательно уметь форматировать диски из-под самой KolibriOS.
    И что-то обсуждалось уже в теме Необходимость разработки инсталлятора
    Кстати, сам инсталлятор тоже бы не помешал.
    Вообще есть KolibriOS Installer(судя по количеству скачиваний — оно востребовано), но это для FAT32 и под Windows.
    Обновил roadmap, ревизия #7329.
    Форматирование важный пункт, включил его в текущий этап.
  • Набросал прототип интерфейса для утилиты форматирования дисков. Прототип не рабочий, прототип показывает будущее расположение элементов. Высказывайте свои пожелания.
    Для доработки интерфейса необходим компонент ComboBox (не нашёл) + прикрутить диалог (сделаю на неделе).

    Имеет ли смысл делать утилиту format (сам функционал) отдельно от оболочки? Пишите свои мнения.
    Я буду не против (а только за), если кто-то захочет реализовать основной функционал, а я просто доделаю эту оболочку/интерфейс.
    Attachments
    Скриншот
    format-ui-prototype.PNG (137.74 KiB)
    Скриншот Viewed 10924 times
    format.zip (26.56 KiB)
    Исходники
    Downloaded 205 times
  • theonlymirage wrote:Набросал прототип интерфейса для утилиты форматирования дисков. Прототип не рабочий, прототип показывает будущее расположение элементов. Высказывайте свои пожелания.
    Для доработки интерфейса необходим компонент ComboBox (не нашёл) + прикрутить диалог (сделаю на неделе).

    Имеет ли смысл делать утилиту format (сам функционал) отдельно от оболочки? Пишите свои мнения.
    Я буду не против (а только за), если кто-то захочет реализовать основной функционал, а я просто доделаю эту оболочку/интерфейс.
    В какие форматы есть возможность форматировать?
    Технологии меняют мир, а я - меняю технологии.
  • theonlymirage

    Пожалуйста, используй большие шрифты и системные цвета. С темной темой белое окно будет выглядеть не ок, а мелкие шрифты у меня на 1920х1080 просто боль. Воть http://kolibri-n.org/inf/fonts/11_02_2016.png

    Как такового компонента "Комбо-бокса" в Колибри нету, потому: или использовать переключатели или что-то вроде такого простого в календарике http://prntscr.com/ksmm34, или его же более симпатичный аналог в словарике http://prntscr.com/ksmnhn

    Вместо разбития программы на FE и BE, можно просто добавить ей флаги работы через командную строку. Например, TMPDISK имеет GUI, но при этом также работает через командную строку http://prntscr.com/ksmq9k
    Из хаоса в космос
  • theonlymirage wrote:Набросал прототип интерфейса для утилиты форматирования дисков.
    Я тоже когда-то(5 лет назад) начинал делать подобное.
    Вон там http://board.kolibrios.org/viewtopic.ph ... 308#p48308 под третьим спойлером раньше было изображение, но оно в том сообщении не сохранилось.
    То, что там было выглядело примерно так
    1.PNG
    1.PNG (5.28 KiB)
    Viewed 10897 times
    Ну ничего! Значит будет 2 утилиты :)
    Leency wrote:Вместо разбития программы на FE и BE, можно просто добавить ей флаги работы через командную строку.
    Да, это пожалуй хороший вариант. Возможно, тоже так сделаю.
    Leency wrote:используй большие шрифты
    Ну ты за всех-то не говори.
    Leency wrote:у меня на 1920х1080 просто боль
    Ключевой момент я выделил.
    Как вариант, размер шрифтов может зависеть от SysFn48.11:GetFontHeight
    pavelyakov wrote:В какие форматы есть возможность форматировать?
    Ни в какие, очевидно же :lol: Система этого ещё не поддерживает.
    theonlymirage wrote: ComboBox (не нашёл)
    Его и нет, но можно использовать MenuBar из BoxLib http://websvn.kolibrios.org/filedetails ... enubar.mac он используется, например, в OpenDialog
    2.PNG
    2.PNG (6.61 KiB)
    Viewed 10897 times
  • Who is online

    Users browsing this forum: No registered users and 3 guests