Converting from LGPL to BSD

Rafael Martins edited this page May 21, 2016 · 4 revisions

I want to convert balde from LGPL to BSD 3 clause license.

Converting balde to BSD means stop using GLib and writing custom code that replaces it.

This is a rough list of the functions that needs to be implemented:

  • g_ascii_isalpha
  • g_ascii_strdown
  • g_ascii_strtoll
  • g_ascii_strtoull
  • g_ascii_strup
  • g_ascii_tolower
  • g_ascii_toupper
  • g_assert
  • g_assert_cmpint
  • g_assert_cmpstr
  • g_base64_decode
  • g_base64_encode
  • g_build_filename
  • g_build_filenamev
  • g_bytes_get_data
  • g_bytes_unref
  • g_chmod
  • g_clear_error
  • g_compute_checksum_for_bytes
  • g_compute_checksum_for_string
  • g_compute_hmac_for_string
  • g_content_type_guess
  • g_data_input_stream_new
  • g_data_input_stream_read_line
  • g_data_input_stream_set_newline_type
  • g_date_time_add
  • g_date_time_add_seconds
  • g_date_time_get_day_of_month
  • g_date_time_get_day_of_week
  • g_date_time_get_hour
  • g_date_time_get_minute
  • g_date_time_get_month
  • g_date_time_get_second
  • g_date_time_get_year
  • g_date_time_new_from_unix_utc
  • g_date_time_new_now_local
  • g_date_time_new_now_utc
  • g_date_time_to_unix
  • g_date_time_unref
  • g_error
  • g_error_free
  • g_error_new
  • g_file_get_contents
  • g_file_set_contents
  • g_file_test
  • g_free
  • g_getenv
  • g_get_tmp_dir
  • g_hash_table_destroy
  • g_hash_table_foreach
  • g_hash_table_insert
  • g_hash_table_lookup
  • g_hash_table_new_full
  • g_hash_table_remove
  • g_hash_table_replace
  • g_hash_table_size
  • g_inet_address_new_from_string
  • g_inet_address_to_string
  • g_inet_socket_address_get_address
  • g_inet_socket_address_new
  • g_input_stream_read
  • g_io_stream_close
  • g_io_stream_get_input_stream
  • g_io_stream_get_output_stream
  • g_list_append
  • g_listenv
  • g_list_free
  • g_list_last
  • g_list_next
  • g_list_previous
  • g_log
  • g_log_set_handler
  • g_main_loop_new
  • g_main_loop_run
  • g_match_info_fetch
  • g_match_info_fetch_named
  • g_match_info_free
  • g_memory_input_stream_new_from_data
  • g_mkdir_with_parents
  • g_mkdtemp
  • g_new
  • g_object_unref
  • g_option_context_add_group
  • g_option_context_add_main_entries
  • g_option_context_free
  • g_option_context_get_help
  • g_option_context_new
  • g_option_context_parse
  • g_option_context_set_help_enabled
  • g_option_group_add_entries
  • g_option_group_new
  • g_output_stream_write_all
  • g_path_get_basename
  • g_path_get_dirname
  • g_print
  • g_printerr
  • g_propagate_error
  • g_quark_from_static_string
  • g_regex_escape_string
  • g_regex_get_pattern
  • g_regex_match
  • g_regex_new
  • g_regex_replace_eval
  • g_regex_replace_literal
  • g_regex_split
  • g_regex_unref
  • g_resource_enumerate_children
  • g_resource_get_info
  • g_resource_lookup_data
  • g_resources_lookup_data
  • g_return_if_fail
  • g_return_val_if_fail
  • g_rmdir
  • g_setenv
  • g_shell_unquote
  • g_signal_connect
  • g_slist_append
  • g_slist_free
  • g_slist_free_full
  • g_slist_insert_sorted
  • g_slist_length
  • g_slist_next
  • g_socket_address_get_family
  • g_socket_connection_get_remote_address
  • g_socket_listener_add_address
  • g_socket_service_start
  • g_static_resource_fini
  • g_static_resource_get_resource
  • g_static_resource_init
  • g_strchomp
  • g_strchug
  • g_strcmp0
  • g_strconcat
  • g_strdup
  • g_strdup_printf
  • g_str_equal
  • g_strescape
  • g_strfreev
  • g_str_hash
  • g_str_has_prefix
  • g_str_has_suffix
  • g_string_append
  • g_string_append_c
  • g_string_append_len
  • g_string_append_printf
  • g_string_free
  • g_string_new
  • g_string_new_len
  • g_strjoinv
  • g_strndup
  • g_strsplit
  • g_strstrip
  • g_strv_length
  • g_test_add
  • g_test_add_func
  • g_test_init
  • g_test_run
  • g_threaded_socket_service_new
  • g_thread_pool_free
  • g_thread_pool_new
  • g_thread_pool_push
  • g_unlink
  • g_unsetenv
  • g_uri_escape_string
  • g_uri_unescape_string
  • g_utf8_strdown

Also, tests must me ported from GLib test runner to cmocka.

This conversion will be focused on POSIX-compliant operating systems.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.