Les « kiwis » ont en effet repris une classification des logiciels avancée dès 1973. On distingue d'un côté, les logiciels « en tant que tel » dits « purs », de ceux qui peuvent être accompagnés de matériels pour fonctionner. Si la seconde catégorie peut être brevetée, la première, relevant des mathématiques soulève davantage de polémiques.
En France, un programme entrant dans la catégorie des logiciels « purs » ne peut pas être en principe breveté. Les algorithmes contenus dans les logiciels ne peuvent donc pas être retenus par une société ou une autre entité morale. Des exceptions existent toutefois pour les systèmes qui ont des effets brevetables (les systèmes embarqués par exemple).
L'Europe ranime le débat avec le brevet unitaire
En décembre 2012, l'Union européenne a bousculé ce système en instaurant le brevet unitaire. L'ambition du texte était d'harmoniser les procédures d'enregistrement de ces titres entre les différents Etats-membres. L'Europe instaurait alors une procédure unique afin de réduire les démarches ainsi que les frais inhérents à ce type d'enregistrement.
Elle donnait également à l'OEB, Office Européen des Brevets, un pouvoir important d'enregistrement de ce type de certificat sur l'ensemble du territoire communautaire. Toutefois, cet organisme ne peut, en principe pas établir de brevet sur un code informatique, considéré comme une œuvre de l'esprit.
François Elie craint également qu'à terme, on assiste à une dilution entre le principe du brevet et celui du droit d'auteur. « L'idée de mélanger le droit d'auteur et les brevets est dangereuse car en principe, lorsque quelqu'un découvre quelque chose, notamment en mathématiques, il va d'abord penser à le partager et non à le protéger », explique-t-il.
En attendant, en France, un développeur a toujours le moyen de protéger son travail et peut en effet faire savoir qu'il est bien celui qui a écrit le code s'il justifie d'un dépôt daté (auprès d'un huissier ou d'un organisme spécialisé). Ce document attestera alors qu'il est bien l'auteur d'un algorithme ou des lignes de codes.