{'fraction_non_alphanumeric': 0.017374517374517374, 'fraction_numerical': 0.0, 'mean_word_length': 5.822368421052632, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Intellectual property and the process of invention: why software is different

Software differs from other electromechanical technologies because of the unique process by which software programs are invented In particular, software developers create novel executable software programs, which are components of a computer, by conceiving of and specifying such programs solely in terms of their function. Software developers, therefore, engage in functional, but not structural, design. Patent law, however, assumes that an inventor must engage in structural design to invent a new electromechanical machine, and therefore requires electromechanical inventors to conceive Of describe, and claim their inventions in terms of their physical structure. This chasm between patent law's assumptions and the reality of software development has the potential to result in an unwarranted expansion of software patent claim scope. Modifications to patent law are recommended which reflect the unique manner in which software programs are invented.