Насколько безопасно отправлять исходный код
Я не знаю, подходит ли это место для публикации этого вопроса. На прошлой неделе я посетил сайт quickblox, используя их для своих нужд. Вскоре после этого я получил письмо от их поддержки с просьбой присоединиться к ним в скайпе, и я это сделал. Сразу же он попросил меня прислать ему мой полный источник Android, чтобы он мог обсудить дальше. Я был в шоке, потому что это все равно что отправить всю мою жизнь третьей стороне.
Даже если с компанией как с организацией все может пойти не так, но у коррумпированного персонала есть возможность нарушить подписанное соглашение о неразглашении и действовать иначе. Я отказался отправить ему свой исходный код и с тех пор остался в середине, как действовать. Мой проект Android, с сообщениями, голосом + и все, что вы можете ожидать в современных приложениях, таких как Viber и WhatsApp. Профессиональная консультация очень требовательна
"QuickBlox-специфичная часть вашего кода". Если мне нужно отправить им определенный файл, как вы предложили, а некоторые другие файлы отсутствуют, я уверен, что eclipse сообщит об ошибках для отсутствующих файлов... пожалуйста, сообщите об этом соответственно...
2 ответа
Факт в том, что у вас есть авторские права на ваш исходный код, и если бы они сделали с ним что-то плохое, вы могли бы заработать на этом много денег. Наверное, больше, чем вы можете сделать иначе. Они не заинтересованы в вашем исходном коде. Они заинтересованы в решении вашей проблемы с наименьшими возможными усилиями.
С другой стороны, если вы не отправите проект, который компилирует и работает и показывает проблему, они вам не помогут.
Это также поможет вам позже, если вы сможете изолировать специфичную для QuickBlox часть вашего кода от остальной части приложения. Если серверная часть чата может быть заменена каким-либо другим поставщиком, вы не будете заблокированы.
С другой стороны, если эта интеграция в чат-бэкэнд отделена от остальных, вы можете создать поддельное приложение поверх нее, чтобы воспроизвести возникшую проблему.
Таким образом, в целом не нужно отправлять весь исходный код приложения, а только ту часть, которая имеет отношение к QuickBlox.
редактировать
Основываясь на ваших изменениях, мне кажется, что мне нужно объяснить немного больше... Java позволяет структурировать код в пространства имен и файлы JAR.
Проектирование пространства имен помогает вам думать о том, какой код должен зависеть от того, какой код другого типа (скажем, бизнес-логика не должна зависеть от кода пользовательского интерфейса, поэтому вы помещаете их в 2 разных пространства имен).
Файл jar является проблемой развертывания, поэтому вы можете повторно использовать части вашего приложения в других приложениях.
Мартин Фаулер недавно написал хорошую статью, объясняющую, почему хорошо разделять код, который зависит от внешних сервисов, которые изменяются независимо от вас, и которые вы, возможно, захотите заменить позже на другой внешний сервис (например, ваш Quickblox API) и как это сделать.
А в 2004 году Алистер Кокберн объяснил, почему хорошо отделять бизнес-логику, которая продает ваше приложение, от других частей кода.