Ответы пользователя по тегу Open Source
  • Что значит GPLv3+?

    Это значит, что если выйдет новая версия GPL (v3.1 или v4), то можно будет невозбранно перелицензировать исходный код уже под ней. Причём сделать это сможет кто угодно.

    Если же версия строго ограничена GPLv3, то перелицензировать код сможет только автор(ы). То есть потребуется согласие всех авторов.

    GNU рекомендует использовать GPLv3+.
    Ответ написан
    2 комментария
  • Open source (GPL3) — я чего-то не понимаю?

    Кстати, вот ещё один интересный момент. Если вы поступите как они хотят: то есть скачаете исходный GPL код и модифицируете его согласно инструкциям, то результат подпадает по GPL. Это значит, что вы имеете полное право передать исходники не только заказчику, но и кому угодно ещё, то есть выложить в открытый доступ. В определённой ситуации вы даже будете обязаны это сделать. И запретить они вам этого не могут (по условиям GPL). Так что их перестраховка с невыдачей вам исходников бесполезна в любом случае.
    Ответ написан
    Комментировать
  • Open source (GPL3) — я чего-то не понимаю?

    GPL позволяет изменять исходные коды для собственных нужд и не распространять изменения. Если же изменённый код распространяется, то он должен распространяться под GPL. Видимо, партнёры не хотят распространять код под GPL и, следовательно, не могут распространять его вообще.
    Ответ написан
  • Дизайн API для матричной библиотеки?

    Что-то не увидел в API la4j таких очевидных, на мой взгляд, вещей, как итераторы (или функторы). Чтобы обрабатывать элементы матрицы построчно или по столбцам, например. Если это вообще нужно, конечно.

    Вот перебор для разреженных матриц мог бы выглядеть несколько иначе, чем для плотных. Чтобы не перебирать каждый элемент разреженной матрицы можно было бы завести специальный итератор, который бы пропускал нулевые элементы. А для разреженной матрицы можно было бы использовать итератор попроще — не пропускающий элементы, «плотный». С ним и работать было бы легче.

    И тот и другой вид итераторов можно реализовать для обоих видов матриц, но понятно, что «плотный» итератор неэффективен в применении к разреженным матрицам.

    Задача API не только в том, чтобы давать возможности, но и подталкивать к выбору правильных решений. А использование «плотного» итератора для разреженных матриц — неправильное решение, так что его можно было бы в интерфейс разреженных матриц не добавлять совсем.
    Ответ написан
    4 комментария