diff --git a/src/spdx_tools/spdx3/writer/json_ld/json_ld_writer.py b/src/spdx_tools/spdx3/writer/json_ld/json_ld_writer.py
index 69a4d76..3c3e081 100644
--- a/src/spdx_tools/spdx3/writer/json_ld/json_ld_writer.py
+++ b/src/spdx_tools/spdx3/writer/json_ld/json_ld_writer.py
@@ -2,20 +2,24 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 import json
-import os
+from importlib import resources
 
 from spdx_tools.spdx3.payload import Payload
-from spdx_tools.spdx3.writer.json_ld.json_ld_converter import convert_payload_to_json_ld_list_of_elements
+from spdx_tools.spdx3.writer.json_ld.json_ld_converter import (
+    convert_payload_to_json_ld_list_of_elements,
+)
 
 
 def write_payload(payload: Payload, file_name: str):
     element_list = convert_payload_to_json_ld_list_of_elements(payload)
 
     # this will be obsolete as soon as the context is publicly available under some URI
-    with open(os.path.join(os.path.dirname(__file__), "context.json"), "r") as infile:
+    # Note: 3.0.1 context is now available at
+    # https://spdx.org/rdf/3.0.1/spdx-context.jsonld
+    with resources.files("spdx_tools.spdx3.writer.json_ld").joinpath("context.json").open("r") as infile:
         context = json.load(infile)
 
     complete_dict = {"@context": context, "@graph": element_list}
 
-    with open(file_name + ".jsonld", "w") as out:
+    with open(file_name + ".jsonld", "w", encoding="utf-8") as out:
         json.dump(complete_dict, out, indent=2)
diff --git a/src/spdx_tools/spdx3/writer/json_ld/owl_to_context.py b/src/spdx_tools/spdx3/writer/json_ld/owl_to_context.py
index f6bc7c3..cdeb314 100644
--- a/src/spdx_tools/spdx3/writer/json_ld/owl_to_context.py
+++ b/src/spdx_tools/spdx3/writer/json_ld/owl_to_context.py
@@ -2,7 +2,7 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 import json
-import os.path
+from importlib import resources
 
 # current workflow: markdown files + spec_parser -> model.ttl -> convert to json_ld: SPDX_OWL.json ->
 # use the function below to generate context.json
@@ -108,8 +108,11 @@
         else:
             print(f"unknown node_type: {node_type}")
 
-    with open(os.path.join(os.path.dirname(__file__), "context.json"), "w") as infile:
-        json.dump(context_dict, infile)
+    with resources.as_file(
+        resources.files("spdx_tools.spdx3.writer.json_ld").joinpath("context.json")
+    ) as context_path:
+        with open(context_path, "w", encoding="utf-8") as outfile:
+            json.dump(context_dict, outfile)
 
 
 if __name__ == "__main__":
