Я не очень внимательно слежу за судом Оракла и Гугля, но, насколько я понимаю, на сегодня Гугль уличили в копировании куска кода из Оракла, а именно - функции rangeCheck(). Вот как эта функция выглядит сейчас:
Насколько я понимаю, это уже после устранения краденого из Оракла кода, но можно видеть, сколь мощный кусок интеллектуальной собственности, без которого Андроид никогда бы не имел шанса на рынке, Гугль пытался нагло украсть. Я думаю, это вполне стоит двух миллиардов долларов, которые Оракл требовал у Гугля.
Интересно также почитать беседу судьи Алсупа с адвокатом Дэвидом Бойесом (Оракл). Судья говорит - дескать, это ж тривиальный код, я сам такой могу написать одной левой. Адвокат отвечает, что он сам не смог бы справиться с написанием вышепроцитированного кода и за полгода. Что напоминает мне старую шутку про адвокатов.
private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) {
if (fromIndex > toIndex)
throw new IllegalArgumentException("fromIndex(" + fromIndex +
") > toIndex(" + toIndex+")");
if (fromIndex < 0)
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
throw new ArrayIndexOutOfBoundsException(toIndex);
}
Насколько я понимаю, это уже после устранения краденого из Оракла кода, но можно видеть, сколь мощный кусок интеллектуальной собственности, без которого Андроид никогда бы не имел шанса на рынке, Гугль пытался нагло украсть. Я думаю, это вполне стоит двух миллиардов долларов, которые Оракл требовал у Гугля.
Интересно также почитать беседу судьи Алсупа с адвокатом Дэвидом Бойесом (Оракл). Судья говорит - дескать, это ж тривиальный код, я сам такой могу написать одной левой. Адвокат отвечает, что он сам не смог бы справиться с написанием вышепроцитированного кода и за полгода. Что напоминает мне старую шутку про адвокатов.
no subject
Оракл еще бы пожаловался на то, что переменная цикла называется 'i'.
no subject
http://news.ycombinator.com/item?id=3940761
И вроде он действительно его скопипейстил, хотя нет никакого сомнения, что ровно никакого IP этом коде быть не может.
no subject
no subject
no subject
Раз private – не трожь! :)
Вон судья к public методам претензий не имел.
no subject
no subject
no subject
Может быть вместо if (toIndex > arrayLen) лучше проверять if (toIndex >= arrayLen)
т.к. первый элемент массива это 0, а не 1?
no subject
for (... ; i < toIndex; ...)
При таком раскладе ограничение на допустимые значения toIndex-а такое: toIndex <= arrayLen, и, соответственно ошибка, если toIndex > arrayLen.
no subject
for (... ; i <= toIndex; ...), т.к. лень держать в голове, что индекс from включается в рассмотрение, а toIndex - нет. Не люблю "выколотые точки", но это уже дело вкуса :).
no subject
no subject
no subject
no subject
no subject
Условия местами можно переставить
no subject
no subject
no subject
Меж тем становится страшно за судьбу Oracle - сумеет ли выжить предприятие, когда несуны из Google нагло воруют с производства столь ценный код? Немедленно выписать им стимулуса, ящитаю.
no subject