Продажа [закрытого] кода JavaScript

У меня была похожая проблема, и я обошел ее, изменив уровень фактора. думал, что поделюсь кодом:

library(reshape2)
library(ggplot2)

group <- c(
  "1",
  "2-4",
  "5-9",
  "10-14",
  "15-19",
  "20-24",
  "25-29",
  "30-34",
  "35-39",
  "40-44",
  "45-49"
)

xx <- factor(group, levels(factor(group))[c(1, 4, 11, 2, 3, 5:10)])

method.1 <- c(36, 14, 8, 8, 18, 1, 46, 30, 62, 34, 34)
method.2 <- c(21, 37, 45, 42, 68, 41, 16, 81, 51, 62, 14)
method.3 <- c(37, 46, 18, 9, 16, 79, 46, 45, 70, 42, 28)  
elisa.neg <- c(12, 17, 18, 6, 19, 14, 13, 13, 7, 4, 1)  
elisa.eq <- c(3, 6, 3, 14, 1, 4, 11, 13, 5, 3, 2)

test  <- data.frame(person = xx, 
                    "Mixture Model" = method.1,
                    "Censoring" = method.3,
                    "ELISA neg" = elisa.neg,
                    "ELISA eqiv" = elisa.eq) 

melted <- melt(test, "person")
melted$cat <- ifelse(melted$variable == "Mixture.Model", "1",
                     ifelse(melted$variable == "Censoring", "2", "3"))

melted$variable = factor(melted$variable, levels = levels(melted$variable)[c(1, 2, 4,3 )]) ## This did the trick of changing the order

ggplot(melted, aes(x = cat, y = value, fill = variable)) + 
  geom_bar(stat = 'identity') + facet_wrap(~ person) +
  theme(axis.ticks.x=element_blank(),
        axis.text.x=element_blank()) + 
  labs(title = "My Title",
       y = "Per cent", x = "Age Group", fill = "")

(извините, это мои данные, я не воспроизводил с использованием данных из исходного поста, надеюсь, все в порядке!)

9
задан Alec Smart 18 August 2014 в 16:37
поделиться

7 ответов

Честно говоря, с любым программным обеспечением ни один метод защиты не является на 100% безопасным от неправильного использования. Подумайте, например, о даже крупномасштабных коммерческих программах, таких как Photoshop, Windows или OS X. У всех есть методы, позволяющие предотвратить злоупотребление или пиратское использование людьми их программного обеспечения, и для обычного пользователя это нормально. , и не дает людям просто копировать свое программное обеспечение и распространять его незаконно.

Однако, если люди действительно захотят использовать программное обеспечение незаконно, они найдут способ - они могут перепроектировать его, а затем например, создавать кейгены или полностью удалять механизмы пиратства.

Конечно, будучи языком сценариев, приложения, написанные с использованием JavaScript, более восприимчивы к неправильному использованию, поскольку, как вы отметили, поскольку JavaScript работает на стороне клиента, любой может легко просмотреть ваш JavaScript. Однако для многих ваших клиентов это не должно быть проблемой, и в наши дни компании довольно часто используют программное обеспечение такого рода в коммерческих целях, которые используют JavaScript в качестве основного метода своей реализации.

Может быть несколько люди, которые пытаются злоупотреблять вашим программным обеспечением, но, как я указывал выше, это происходит на всех этапах разработки программного обеспечения, и все, что вы можете сделать, это сделать все возможное, чтобы этого не произошло. Как вы предположили, обфускация JavaScript - хороший способ сделать исходный код менее читаемым (но есть некоторые ограничения, например, удаление некоторых законных строк кода, которые обфускатор считает ненужными), но, в конце концов, вы просто должны помнить, что большинство людей, вероятно, законно будут использовать ваше программное обеспечение правильным образом,

14
ответ дан 4 December 2019 в 08:34
поделиться

Компании, которые обычно продают компоненты JavaScript, действительно продают поддержку для этих компонентов. Гарантированное исправление ошибок, быстрый ответ на вопросы и т. Д.

8
ответ дан 4 December 2019 в 08:34
поделиться

Самый простой способ обфускации - использовать Онлайн-минификатор YUI .

В основном, усилия, необходимые для его деобфускации, очень похожи к необходимости его переписывать. Это не обязательно помешает кому-то его украсть, но, опять же, это просто зависит от того, на каком рынке вы работаете. Большинство людей честны.

Практически весь JavaScript изначально является открытым исходным кодом. Похоже, что многие люди зарабатывают деньги на открытом исходном коде. Я бы не стал слишком сильно потеть. Продавайте на основе стоимости или услуги.

2
ответ дан 4 December 2019 в 08:34
поделиться

Существует множество компаний, которые продают «компоненты» Javascript, и я знаю, что по крайней мере некоторые из них скрывают свой код. Многие обфускаторы и компрессоры делают ужасные вещи с eval и закодированными строками ... I ' Я не рекомендую идти по этому пути.

По моему опыту, весь запутанный код расстраивает ваших честных клиентов. Во многом все сводится к тому, на кого вы нацелены. Если вы делаете вставные компоненты, запутывание вещей не будет большой проблемой. Если вы ориентируетесь на разработчиков, вам нужно будет держать свой код открытым imo.

Если вы выберете обфускацию, лучшим способом повышения производительности и надежности будет использование компрессора javascript

2
ответ дан 4 December 2019 в 08:34
поделиться

Помните, что «кража» кода - это не только обфускация, но и прямое копирование и вставка на другой сайт и использование как есть. Было бы разумно включить какой-либо тип запроса на лицензирование для сценария, например, проверку домена, с которого запрос был отправлен, на центральном сервере. Конечно, тогда вам понадобится обфускация, чтобы люди не могли удалить проверку лицензирования ...

1
ответ дан 4 December 2019 в 08:34
поделиться

Milonic sells some JavaScript components.

Not sure how they protect them, but they have been in business for a long time.

1
ответ дан 4 December 2019 в 08:34
поделиться

Есть компании, продающие js-код. Насколько хорошо они это делают - не знаю.

Единственное, что вы можете сделать, чтобы защитить свой код, - это запутать его.

-3
ответ дан 4 December 2019 в 08:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: