According to Wikipedia, "an operation, function or expression is said to have a side effect if it modifies some state variable value(s) outside its local environment, which is to say if it has any observable effect other than its primary effect of returning a value to the invoker of the operation."
This is the most used definition, but some professionals (as well as the Wikipedia article, if we read it more carefully further) also say that "A side effect is when a function relies on, or modifies, something outside its parameters to do something." This is technically reasonable and correct; however, it looks non-logical with respect to the human language.
English Wiktionary gives several definitions for the word "effect" (I'm not a native speaker), but all of them are connected to result, not input; the word comes from Latin ex (“out”) + faciō (“do, make”).
What could be an alternative term for a function that only relies on some external state? It is unimportant for me whether the function actually makes some external modifications; I want to say the opposite to: it always gives same results when getting the same input.