Исполнительный комитет JCP проголосовал против модульной системы в Java
Исполнительные комитет JCP (Java Community Process) отклонил принятие спецификации JSR 376 (Java Platform Module System), в рамках которой развивалось ключевое улучшение платформы Java 9, релиз которой ожидался 27 июля 2017 года. JSR 376 подготовлен в рамках проекта Jigsaw и предлагает принципиально новые для Java средства разбиения программ и JDK на модули.
Против добавление в Java средств для разбиения на модули проглосовало 13 из 23 активных участников комитета. Среди проголосовавших против: IBM, Red Hat, Eclipse Foundation, Hewlett Packard Enterprise, SAP и Twitter. Из участников, голосовавших за принятие JSR 376, можно отметить Intel, Fujitsu, Goldman Sachs, Oracle. В течение 30 дней планируется выставить на голосование обновленный вариант спецификации, в случае одобрения которого еще удастся выпустить Java 9 в срок.
По мнению сторонников проекта Jigsaw разбиение кода платформы Java на модули упростит создание, сопровождение и распространение больших приложений, позволив избавиться от наблюдаемых в настоящее время проблем с монолитными JAR и распространением наборов классов. Система модулей даст возможность легко выделять функциональность и формировать настраиваемые конфигурации, адаптируемые как для развертывания на больших серверах, так и на встраиваемой технике. Модульные приложения, построенные на основе модульной платформы Java, потребуют загрузки меньшего объема данных и позволят достигнуть более высокой производительности за счет более эффективной оптимизации специфичных для используемой конфигурации модулей.
Компания IBM проголосовала против, так как считает, что спецификация еще не готова для утверждения и требует дополнительной доработки. Компания Red Hat также полагает, что внедрение Jigsaw приведет к нарушению работы уже существующих приложений и, как следствие, приведет к расколу экосистемы и фрагментации сообщества: с одной стороны окажутся системы на базе Jigsaw, в с другой все остальные решения, включая Java SE ClassLoader и OSGi. Отмечается также негативное влияние на Java EE 9, в котором невозможно будет построить на базе Jigsaw, так как это потребует разорвать обратную совместимость, переносимость и паритет в функциональности с прошлыми выпусками спецификаций Java EE.
Оппоненты утверждают, что Red Hat пытает саботировать внедрение Jigsaw, так как данная технология конкурирует с уже поставляемой в платформе WildFly нестанратной системой загрузки модулей JBoss Modules. Другие проголосовали против так как среди участников совета не достигнут консенсус и остаются нерешенными спорные вопросы.